diff options
author | sara <sara.halter@gmx.ch> | 2021-12-17 19:45:21 +0100 |
---|---|---|
committer | sara <sara.halter@gmx.ch> | 2021-12-17 19:45:21 +0100 |
commit | 418c552c6bdeae8ef4aab660705646dba345a656 (patch) | |
tree | d734d2fc876623b63f9fdc5eeeb6bf016f526ebc | |
parent | Doku exemple real (diff) | |
parent | Minor corrections in documentation (diff) | |
download | Fading-418c552c6bdeae8ef4aab660705646dba345a656.tar.gz Fading-418c552c6bdeae8ef4aab660705646dba345a656.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to '')
-rw-r--r-- | doc/poster/poster_draft_17122021.pdf | bin | 784029 -> 784023 bytes | |||
-rw-r--r-- | doc/thesis/Fading.bib | 208 | ||||
-rw-r--r-- | doc/thesis/Fading.tex | 81 | ||||
-rw-r--r-- | doc/thesis/chapters/implementation.tex | 113 | ||||
-rw-r--r-- | doc/thesis/chapters/theory.tex | 10 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/multipath-sketch.tex | 2 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/packet-frame.tex | 14 |
7 files changed, 221 insertions, 207 deletions
diff --git a/doc/poster/poster_draft_17122021.pdf b/doc/poster/poster_draft_17122021.pdf Binary files differindex b0d8d85..7f62e97 100644 --- a/doc/poster/poster_draft_17122021.pdf +++ b/doc/poster/poster_draft_17122021.pdf diff --git a/doc/thesis/Fading.bib b/doc/thesis/Fading.bib index dddcd1c..026cdba 100644 --- a/doc/thesis/Fading.bib +++ b/doc/thesis/Fading.bib @@ -7,19 +7,19 @@ % description for the entry types are in section 2.1 on page 8 @article{Alimohammad2009, - title = "Compact Rayleigh and Rician fading simulator based on random walk processes", - author = "Alimohammad, A. and Fard, S.F. and Cockburn, B.F. and Schlegel, C.", - journal = "IET Commun.", - publisher = "Institution of Engineering and Technology (IET)", - volume = 3, - number = 8, - pages = "1333", - year = 2009, - language = "en" + title = {Compact Rayleigh and Rician fading simulator based on random walk processes}, + author = {Alimohammad A. and Fard S.F. and Cockburn B.F. and Schlegel C.}, + journal = {IET Commun.}, + publisher = {Institution of Engineering and Technology (IET)}, + volume = {3}, + number = {8}, + pages = {1333}, + year = {2009}, + language = {en} } @article{Chu1972, - author = {Chu, D.}, + author = {Chu D.}, journal = {IEEE Transactions on Information Theory}, title = {Polyphase codes with good periodic correlation properties (Corresp.)}, year = {1972}, @@ -30,18 +30,18 @@ } @inproceedings{Xiao2004, - title = "Statistical simulation models for Rayleigh and Rician fading", - booktitle = "{IEEE} International Conference on Communications, 2003. {ICC} '03", - author = "Xiao, Chengshan and Zheng, Y.R. and Beaulieu, N.C.", - publisher = "IEEE", - year = 2004, - conference = "IEEE International Conference on Communications", - location = "Anchorage, AK, USA" + title = {Statistical simulation models for Rayleigh and Rician fading}, + booktitle = {{IEEE} International Conference on Communications, 2003. {ICC} '03}, + author = {Xiao Chengshan and Zheng Y.R. and Beaulieu N.C.}, + publisher = {IEEE}, + year = {2004}, + conference = {IEEE International Conference on Communications}, + location = {Anchorage, AK, USA} } @book{Flickenger2007wireless, title = {Wireless Networking in the Developing World: A practical guide to planning and building low-cost telecommunications infrastructure}, - author = {Flickenger, Rob}, + author = {Flickenger Rob}, year = {2007}, publisher = {Hacker Friendly LLC, Seattle, WA, US} } @@ -49,7 +49,7 @@ @article{Subramanian2006rethinking, title = {Rethinking wireless for the developing world}, - author = {Subramanian, Lakshminarayan and Surana, Sonesh and Patra, Rabin and Nedevschi, Sergiu and Ho, Melissa and Brewer, Eric and Sheth, Anmol}, + author = {Subramanian Lakshminarayan and Surana Sonesh and Patra Rabin and Nedevschi Sergiu and Ho Melissa and Brewer Eric and Sheth Anmol}, journal = {IRVINE IS BURNING}, pages = {43}, year = {2006}, @@ -58,7 +58,7 @@ @article{Maddocks1993introduction, title = {An introduction to digital modulation and OFDM techniques}, - author = {Maddocks M.C.D., Newell C.}, + author = {Maddocks M.C.D. and Newell C.}, journal = {BBC Research Department}, volume = {10}, year = {1993} @@ -66,7 +66,7 @@ @inproceedings{Frederiksen2002overview, title = {An overview of OFDM and related techniques towards development of future wireless multimedia communications}, - author = {Frederiksen, Flemming Bjerge and Prasad, Ramjee}, + author = {Frederiksen Flemming Bjerge and Prasad Ramjee}, booktitle = {Proceedings RAWCON 2002. 2002 IEEE radio and wireless conference (Cat. No. 02EX573)}, pages = {19--22}, year = {2002}, @@ -74,67 +74,67 @@ } @inproceedings{Macmillan2019tidal, - author = "Macmillan, Alex and Marina, Mahesh K. and Triana, Jhair Tocancipa", - booktitle = "2010 INFOCOM IEEE Conference on Computer Communications Workshops", - title = "Slow Frequency Hopping for Mitigating Tidal Fading on Rural Long Distance Over-Water Wireless Links", - year = 2010, - pages = "1-5", - doi = "10.1109/INFCOMW.2010.5466612" + author = {Macmillan Alex and Marina Mahesh K. and Triana Jhair Tocancipa}, + booktitle = {2010 INFOCOM IEEE Conference on Computer Communications Workshops}, + title = {Slow Frequency Hopping for Mitigating Tidal Fading on Rural Long Distance Over-Water Wireless Links}, + year = {2010}, + pages = {1-5}, + doi = {10.1109/INFCOMW.2010.5466612} } @inproceedings{AntonescuTB17, - author = "Antonescu, Bogdan and Moayyed, Miead Tehrani and Basagni, Stefano", - booktitle = "2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC)", - title = "mmWave channel propagation modeling for V2X communication systems", - year = 2017, - pages = "1-6", - doi = "10.1109/PIMRC.2017.8292718" + author = {Antonescu Bogdan and Moayyed Miead Tehrani and Basagni Stefano}, + booktitle = {2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC)}, + title = {mmWave channel propagation modeling for V2X communication systems}, + year = {2017}, + pages = {1-6}, + doi = {10.1109/PIMRC.2017.8292718} } @book{Griffith, - title = "Introduction to Electrodynamics, Fourth Edition", - author = "Griffiths, David J.", + title = {Introduction to Electrodynamics, Fourth Edition}, + author = {Griffiths David J.}, year = 2017, - publisher = "Cambridge University Press; 4th edition", - isbn = "978-1108420419" + publisher = {Cambridge University Press; 4th edition}, + isbn = {978-1108420419} } -@misc{Messier, - title = "Wireless Communications: Small Scale Fading", - author = "Prof. Dr. Messier G.", +@online{Messier, + title = {Wireless Communications: Small Scale Fading}, + author = {Prof. Dr. Messier G.}, year = 2018, - publisher = "YouTube", - url = "https://www.youtube.com/watch?v=4ibjrRzvJ5E&list=PL7sWxFnBVJLXsvsLzMXT2Fk4ZPD7BJTBX&index=3" + publisher = {YouTube}, + url = {https://www.youtube.com/watch?v=4ibjrRzvJ5E&list=PL7sWxFnBVJLXsvsLzMXT2Fk4ZPD7BJTBX&index=3} } -@misc{Gallager, - title = "Course material for 6.450 Principles of Digital Communications I", - author = "Robert Gallager", +@online{Gallager, + title = {Course material for 6.450 Principles of Digital Communications I}, + author = {Robert Gallager}, year = 2006, - month = "Fall", - publisher = "MIT OpenCourseWare, Massachusetts Institute of Technology", - url = "https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-450-principles-of-digital-communications-i-fall-2006" + publisher = {MIT OpenCourseWare, Massachusetts Institute of Technology}, + url = {https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-450-principles-of-digital-communications-i-fall-2006}, + organization = {Massachusetts Institute of Technology {MIT}} } @article{Kschischang, - title = "The Hilbert Transform", - author = "Frank R. Kschischang", - year = 2006, - month = "October", - organization = "The Edward S. Rogers Sr. Department of Electrical and Computer Engineering, University of Toronto", - url = "http://web.eecs.utk.edu/~mjr/ECE342/hilbert.pdf", + title = {The Hilbert Transform}, + author = {Frank R. Kschischang}, + year = {2006}, + month = {10}, + organization = {The Edward S. Rogers Sr. Department of Electrical and Computer Engineering, University of Toronto}, + url = {http://web.eecs.utk.edu/~mjr/ECE342/hilbert.pdf}, } -@misc{GRWiki, - title = "GNU Radio Wiki", - author = "GNU Radio developers", - year = 2021, - url = "https://wiki.gnuradio.org", +@online{GRWiki, + title = {GNU Radio Wiki}, + author = {GNU Radio developers}, + year = {2021}, + url = {https://wiki.gnuradio.org}, } @book{Hsu, title = {Schaum's Outline of Analog and Digital Communications}, - author = {Hsu, H.P.}, + author = {Hsu H.P.}, isbn = {9780071402286}, lccn = {2002153194}, series = {Schaum's outline series}, @@ -144,46 +144,74 @@ @misc{Kneubuehler, title = {Nachrichtentechnik 1 + 2}, - author = {Kneub\"uhler, T.}, + author = {Kneub\"uhler T.}, year = {2020}, - month = {September}, - organization = "Eastern Switzerland University of Applied Sciences", + month = {9}, + organization = {Eastern Switzerland University of Applied Sciences}, } @misc{Mathis, title = {Wireless Communication}, - author = {{Prof. Dr. Mathis H.} and {Prof. Dr. Lang H.D.}}, + author = {Prof. Dr. Mathis H. and Prof. Dr. Lang H.D.}, + year = {2021}, + month = {9}, + organization = {Eastern Switzerland University of Applied Sciences}, +} + +@book{Meyer2011, + title = {Kommunikationstechnik}, + author = {Meyer Martin}, + publisher = {Vieweg+Teubner Verlag}, + edition = {4}, + month = {9}, + year = {2011}, + language = {de}, + isbn = {978-3-8348-1338-1}, +} + +@book{Hoher2013, + title = {Grundlagen der digitalen Informations{\"u}bertragung}, + author = {Hoher Peter Adam}, + publisher = {Springer Vieweg}, + edition = {2}, + month = {6}, + year = {2013}, + language = {de}, + isbn = {978-3-8348-1784-6}, + doi = {10.1007/978-3-8348-2214-7}, +} + +@online{Mathworks, + title = {Fading Channels}, year = {2021}, - month = {September}, - organization = "Eastern Switzerland University of Applied Sciences", + month = {12}, + day = {16}, + publisher = {The MathWorks, Inc.}, + organization = {The MathWorks, Inc.}, + url = {https://www.mathworks.com/help/comm/ug/fading-channels.html} } -@BOOK{Meyer2011, - title = "Kommunikationstechnik", - author = "Meyer, Martin", - publisher = "Vieweg+teubner Verlag", - edition = 4, - month = sep, - year = 2011, - language = "de" +@manual{EttusUSRPB210, + title = {USRP\textsuperscript{\textsf{TM}} B200/B200 Bus Series Specification Sheet}, + year = {2019}, + author = {Ettus Research}, + url = {https://www.ettus.com/wp-content/uploads/2019/01/b200-b210_spec_sheet.pdf} } -@BOOK{Hoher2013, - title = "Grundlagen der digitalen Informations{\"u}bertragung", - author = "Hoher, Peter Adam", - publisher = "Springer Vieweg", - edition = 2, - month = jun, - year = 2013, - language = "de" +@thesis{Valimaki1995, + title = {Discrete-Time Modeling of Acoustic TubesUsing Fractional Delay Filters}, + author = {Välimäki Vesa}, + institution = {Helsinki University of Technology, Laboratory of Acoustics and Audio Signal Processing}, + year = {1995}, + month = {12}, + day = {18}, + isbn = {951-22-2880-7}, + issn = {0356-0083X}, } -@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" +@report{ETSI, + title = {ETSI TS 136 104 V11.4.0}, + author = {ETSI 3rd Generation Partnership Project}, + type = {Technical Specification}, + institution = {{E}uropean {T}elecommunication {S}tandards {I}nstitute}, } - - - diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index 66d3432..63c4d6a 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -85,7 +85,7 @@ \KOMAoptions{DIV=default} %% Metadata -\title{Multipath fading demonstration using software defined radio} +\title{Multipath Fading Demonstration Platform using Software Defined Radio} \author{Naoki Sean Pross \and Sara Cinzia Halter} \date{Fall semester 2021} @@ -97,15 +97,15 @@ \maketitle % \include{tex/titlepage} - \cleardoublepage - \pagenumbering{roman} - \setcounter{page}{1} - \begin{abstract} %% TODO: write abstract \skelpar \end{abstract} + \cleardoublepage + \pagenumbering{roman} + \setcounter{page}{1} + \tableofcontents \cleardoublepage @@ -141,12 +141,9 @@ r(m) & Received samples \\ \midrule \multicolumn{2}{l}{\itshape Channel modelling} \\ - h(t) & LTI impluse response \\ - h(\tau, t) & LTV impluse response \\ - h(m) & LTI discrete time impulse response \\ - h_l(m) & LTV discrete time impulse response \\ - H(f) & LTI Frequency response \\ - H(f, t) & LTV Frequency response \\ + 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 \\ @@ -154,7 +151,6 @@ R_{xy} & Correlation between \(x\) and \(y\) \\ \bottomrule \end{tabularx} - \cleardoublepage \chapter*{List of Acronyms} \noindent @@ -162,38 +158,41 @@ \toprule \bfseries Acronym & \bfseries Description \\ \midrule - API & Application Programming Interface \\ - AWGN & Additive White Gaussian Noise \\ - BER & Bit Error Rate \\ - CAZAC & Constant Amplitude Zero Autocorrelation Waveform \\ - CIR & Channel Impulse Response \\ - DPG & Dear PyGUI \\ - ETSI & European Telecommunication Standards Insitite \\ - FIR & Finite Impulse Response \\ - GR & GNU Radio \\ - GRC & GNU Radio Companion \\ - GSM & Global System for Mobile communication \\ - IMGUI & Immediate Graphical User Interface \\ - IP & Internet Protocol \\ - IoT & Internet of Things \\ - 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 \\ - 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 \\ + API & Application Programming Interface \\ + AWGN & Additive White Gaussian Noise \\ + BER & Bit Error Rate \\ + CAZAC & Constant Amplitude Zero Autocorrelation Waveform \\ + CIR & Channel Impulse Response \\ + CMA & Constant Modulus Adaptive filter \\ + DPG & Dear PyGUI \\ + ETSI & European Telecommunication Standards Insitite \\ + FIR & Finite Impulse Response \\ + GR & GNU Radio \\ + GRC & GNU Radio Companion \\ + GSM & Global System for Mobile communication \\ + IMGUI & Immediate 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 \\ + 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 \\ + 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 \\ \bottomrule \end{tabularx} + \cleardoublepage - \hypersetup{pageanchor = true} \pagenumbering{arabic} diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 748982c..73771af 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -4,7 +4,7 @@ \section{Overview} -First of all the tools that were used in this project are introduced. Then it is explained how the sender and receiver chains are implemented. Except for the channel, there are no differences in the signal processing chains between the simulated and real flowgraphs (with hardware). Following are some channel simulations and measurements of the bit error rate (BER). Finally, the issues and the degree of completeness of our current implementation is discussed. +First of all the tools that were used in this project are introduced. Then it is explained how the transmitter and receiver chains are implemented. Except for the channel, there are no differences in the signal processing chains between the simulated and real flow graphs (with hardware). Following are some channel simulations and measurements of the bit error rate (BER). Finally, the issues and the degree of completeness of our current implementation is discussed. \section{Software Stack} @@ -68,12 +68,12 @@ As a side effect, in theory this setup allows to have one computer running the g External reference input & 10 MHz \\ \bottomrule \end{tabular} - \caption{USRP B210 specifications.\label{tab:usrp-specs}} + \caption{USRP B210 specifications \cite{EttusUSRPB210}. \label{tab:usrp-specs}} \end{table} As receivers and transmitter devices for the SDR setup two USRP B210 devices from Ettus Research were used. Some technical specifications are shown in \tabref{tab:usrp-specs}. GR provides off the shelf blocks that interface with the official API provided from Ettus Research. -\section{Sender chain} +\section{Transmitter chain} \subsection{Data frame} \label{sec:data-frame} @@ -86,27 +86,26 @@ As receivers and transmitter devices for the SDR setup two USRP B210 devices fro } \end{figure} -To compute the empirical bit error rate (BER) of the setup, the data has to be framed by the sender and the bitstream synchronized on the receiver side. The structure of a data packet used in the implementation is shown in \figref{fig:dataframe}. A frame begins with an user specified \(k\)-byte preamble, that in the current implementation serves as synchronization pattern. Another use case for the preamble sequence could be to introduce channel estimation pilot symbols. Following the preamble are 4 bytes encoded using a (31, 26) Hamming code (plus 1 padding bit), that contain metadata about the packet, namely payload ID and payload length. Because the payload length in bytes is encoded in 21 bits, the theoretical maximum payload size is 2 MiB, which together with 32 possible unique IDs gives a maximum data transfer with unique frame headers of 64 MiB. These constraints are a result of decisions made to keep the implementation simple. +To compute the empirical bit error rate (BER) of the setup, the data has to be framed by the transmitter and the bitstream synchronized on the receiver side. The structure of a data packet used in the implementation is shown in \figref{fig:dataframe}. A frame begins with an user specified \(k\)-byte preamble, that in the current implementation serves as synchronization pattern. Another use case for the preamble sequence could be to introduce channel estimation pilot symbols. Following the preamble are 4 bytes encoded using a (31, 26) Hamming code (plus 1 padding bit), that contain metadata about the packet, namely payload ID and payload length. Because the payload length in bytes is encoded in 21 bits, the theoretical maximum payload size is 2 MiB, which together with 32 possible unique IDs gives a maximum data transfer with unique frame headers of 64 MiB. These constraints are a result of decisions made to keep the implementation simple. \subsection{Modulation} -GR provides a constellation modulator block, that already implements several standard constellations (QPSK and 16ary-QAM being of interest for us). The block also already integrates a root raised cosine filter, whose phase bandwidth (roll-off factor) can be given as parameter. +GR provides a constellation modulator block, that already implements several standard constellations (QPSK and 16ary-QAM being of interest for us). The block also already integrates a root raised cosine filter, whose phase bandwidth (roll-off factor) can be given as parameter; in all flow graphs the roll off factor is \(\alpha = 0.35\). \section{Receiver chain} \subsection{Envelope detector} -What is here referred to as envelope detector has the purpose of synchronizing the symbols and equalizing the input signal amplitude. This is accomplished in GRC using two blocks: a polyphase clock sync and a CMA equalizer. The input signal for the envelope detector has 4 samples per symbol, while the output has only one sample per symbol. +What is here referred to as envelope detector has the purpose of synchronizing the symbols and equalizing the input signal amplitude. This is accomplished in GRC using two blocks: a polyphase clock sync and a constant modulus adaptive (CMA) filter equalizer. The input signal for the envelope detector has 4 samples per symbol, while the output has only one sample per symbol. The choice of the CMA equalizer later turned out to be a mistake in the QAM flow graphs, as it only works for envelope with a constant amplitude. In the latest version least mean square decision-directed (LMS-DD) equalizers have been used. -\paragraph{Polyphase Clock Sync} -%TODO : nochmals anschauen ob dieese erklärung verständlich ist und richtig interpretiert wurde. -With the the polyphase clock sync the symbols can be synchronized by preforming a time synchronization with the help of multiple filterbanks. For that the derivative of the filtered signal should be minimized which turns to a better SNR. +% \paragraph{Polyphase Clock Sync} +% %TODO : nochmals anschauen ob dieese erklärung verständlich ist und richtig interpretiert wurde. +% With the the polyphase clock sync the symbols can be synchronized by preforming a time synchronization with the help of multiple filterbanks. For that the derivative of the filtered signal should be minimized which turns to a better SNR. % This works with the help of two filterbanks, one of them contains the filters of the signal adapted to the pulse shaping with several phases. The other contains its derivative. So in the time domain it has a sinc shape, for the output Signal the sinc peak should be on a sample, with the fact that sinc(0) = 1 and sinc(0)' = 0 an error signal can be generated which tells how far away from the peak it is. This error Signal should be zero this is possible with the help of a loop second order whish constants the number of the filterbank and the rate. This rate is generated because of the clock difference between the transmitter and receiver to synchronized the receiver the filter goes through the phases. For the output one sample per symbol is enough. -\paragraph{Equalizer} - -\skelpar[2]{CMA equalizer.} +% \paragraph{Equalizer} +% \skelpar[2]{CMA equalizer.} \subsection{Frame synchronization and phase correction} \label{sec:phasecorr} @@ -163,10 +162,10 @@ The phase and frequency correction block was implemented with the design goal of \frac{\SI{2}{\meter\per\second}}{\SI{3e8}{\meter\per\second}} + 10^{-6} \right) = \SI{2416}{\hertz}. \end{equation} -Because the frequency estimate is linearly interpolated, the phase error may not exceed \(\pi\) (half rotation) during one data frame (chunk). These constraints imply that for frames of \(N'\) symbols of duration \(T\), using \(\kappa\) samples per symbol the relation +Because the frequency estimate is linearly interpolated, the phase error may not exceed \(\pi\) (half rotation) during one data frame (chunk). These constraints imply that for frames of \(N'\) symbols of duration \(T\) each, using \(\kappa\) samples per symbol the relation \begin{equation}\label{Doppler-shift} 2\pi\Delta f N' T \kappa \leq \pi - \iff T = 1/f_s \leq \frac{1}{2\Delta f N' \kappa}, + \implies T = 1/f_s \leq \frac{1}{2\Delta f N' \kappa}, \iff N' \leq \frac{1}{2\Delta f T \kappa}, \end{equation} must hold. By further setting \(\kappa = 4\) and \(N' = 32\) we obtain a minimum sampling frequency of approximately \(\SI{618.5}{\kilo\hertz}\), or conversely by letting \(f_s = \SI{1}{\mega\hertz}\) we have a maximum frame length of \(N' = 51\) symbols. In other words, roughly every 50 symbols the system must send an access code sequence. This result is rather unfortunate as it requires a lot more processing power than expected. @@ -269,49 +268,12 @@ def block_phase(self, start, end): In order to study the effects of multipath fading, a series of simulations have been made under different conditions. To simulate a channel affected by multipath fading two blocks from the GR library, and a third custom block were used. The channel model can simulate AWGN, a frequency offset and either a Rayleigh (NLOS) oder Rice (LOS) fading. -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-without-effects} - \caption{ Plot of without any effect, to compare with the other Plots. - } -\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. - The parameters are: delay of samples per symbol, amplitude of 0.2 and LOS. - } - \label{fig:static-symb-specal-case} -\end{figure} - -\begin{figure} - \centering - \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. - } - \label{fig:static-symb-specal-case-NLOS} -\end{figure} - -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-static-symb-vec} - \caption{ - Constellation diagrams for a simulated link using QPSK with the discrete time model block. - The parameters are: delay of \([0.25,4,6.3,3.25]\) samples , amplitude of \([0.2,0.5,0.4,0.08]\) and LOS. - } - \label{fig:static-symb-specal-case-vec} -\end{figure} - \subsection{Fading with discrete time model} 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 (LOS) or without one (NLOS). 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 ray. -A special case is show in \figref{fig:static-symb-specal-case} and in \figref{fig:static-symb-specal-case-NLOS}, where the delay in sample is the same as the sample per symbol value or a multiple of it. An other example is shown in \figref{fig:static-symb-specal-case-vec},with more diffident delayed paths. +A special case is show in \figref{fig:static-symb-special-case} and in \figref{fig:static-symb-special-case-NLOS}, where the delay in sample is the same as the sample per symbol value or a multiple of it. An other example is shown in \figref{fig:static-symb-special-case-vec},with more diffident delayed paths. Unfortunately, these simulation values do not correspond to the reality, because too many incalculable side effects occur, which aren't possible to illustrate 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. @@ -376,8 +338,6 @@ Thus, they will be distributed among the other whole numbers. A window function \label{fig:dynamic-exp} \end{figure} - - \subsection{Fading with statistical model} 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. @@ -397,9 +357,6 @@ When nothing mentioned the number of how many FIR- filter taps are used is eight %TODO: Other Plots? \subsubsection{Real value example} -%TODO: How to referenc Tabels feom an other Skript. -%TODO: Quelle https://www.etsi.org/deliver/etsi_ts/136100_136199/136104/11.04.00_60/ts_136104v110400p.pdf - 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 \skelpar[5]{ @@ -423,7 +380,7 @@ In order to obtain a realistic simulation the values for multi-path fading propa 5000 & \(-7.0 \approx 0.1995\) \\ \bottomrule \end{tabular} - \caption{Values used for the simulation\label{tab:values}} + \caption{Values used for the simulation \cite{ETSI}. \label{tab:etsi-tap-values}} \end{table} \begin{figure} @@ -479,13 +436,47 @@ For generating the Byte error rate it is focus on byte-blocks of a specific leng return len(inp) \end{lstlisting} -% TODO: Picture of the setup +\begin{figure} + \centering + \input{figures/tikz/qpsk-sim-constellations-without-effects} + \caption{Plot of without any effect, to compare with the other Plots.} +\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. + The parameters are: delay of samples per symbol, amplitude of 0.2 and LOS. + } + \label{fig:static-symb-special-case} +\end{figure} + +\begin{figure} + \centering + \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. + } + \label{fig:static-symb-special-case-NLOS} +\end{figure} + +\begin{figure} + \centering + \input{figures/tikz/qpsk-sim-constellations-static-symb-vec} + \caption{ + Constellation diagrams for a simulated link using QPSK with the discrete time model block. + The parameters are: delay of \texttt{[0.25,4,6.3,3.25]} samples , amplitude of \texttt{[0.2,0.5,0.4,0.08]} and LOS. + } + \label{fig:static-symb-special-case-vec} +\end{figure} \section{Issues in the current implementation} \subsection{Non modulated access codes} -Currently as described in section \ref{sec:data-frame}, the access codes are put as bytes in front of the frame in the \(k\)-byte preamble. For this to work, the access code bytes must still have a good autocorrelation function after being modulated into symbols using the chosen modulation scheme. This works well with QPSK, because the constellation is quite simple and the length of the sequence is only halved after the modulation (since QPKS has 2 bits per symbol). Thus in the QPSK flowgraph, the longest known 13 bit Barker sequence \texttt{0x1f35} padded with zeros after MSB is sufficient (\(\approx 7\) symbols). +Currently as described in section \ref{sec:data-frame}, the access codes are put as bytes in front of the frame in the \(k\)-byte preamble. For this to work, the access code bytes must still have a good autocorrelation function after being modulated into symbols using the chosen modulation scheme. This works well with QPSK, because the constellation is quite simple and the length of the sequence is only halved after the modulation (since QPKS has 2 bits per symbol). Thus in the QPSK flow graph, the longest known 13 bit Barker sequence \texttt{0x1f35} padded with zeros after MSB is sufficient (\(\approx 7\) symbols). With QAM however, the complexity of the constellation and the higher number of bits per symbol makes it increasingly difficult to find binary sequences that after being modulated still retain a good autocorrelation function. A better solution would be to use for example a \emph{constant amplitude zero autocorrelation waveform} (CAZAC) of length \(N\), which is computed with \begin{equation} @@ -495,7 +486,7 @@ With QAM however, the complexity of the constellation and the higher number of b k(k+1) & \text{when } N \text{ is odd} \end{cases}, \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 sender 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}. +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}. \subsection{Incomplete parts} diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 6e0c3cc..bc69763 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -135,11 +135,6 @@ Phase shift keying (PSK) is another popular family of modulation schemes for dig \end{equation} \skelpar[3] -% \begin{figure} -% % TODO: Better Image -% % https://sites.google.com/site/billmahroukelec675/bipolar-phase-shift-keying -% \includegraphics[width=5cm]{./image/BPSK2.png} -% \end{figure} \subsection{Quadrature PSK (QPSK)} @@ -278,7 +273,8 @@ is different from \eqref{eqn:multipath-impulse-response} consider again the plot From a signal processing perspective \eqref{eqn:discrete-multipath-impulse-response} can be interpreted as a simple tapped delay line, schematically drawn in \figref{fig:tapped-delay-line}, which confirms that the presented mathematical model is indeed a FIR filter. Simple multipath channels can be simulated with just a few lines of code, for example the data for the static fading channel in \figref{fig:multipath-frequency-response-plots} is generated in just four lines of Python. The difficulty of fading channels in practice lies in the estimation of the constantly changing parameters \(c_k(t)\) and \(\tau_k(t)\). \subsection{Simulating multipath CIR with FIR filters} \label{sec:fractional-delay} -% TODO quelle: http://users.spa.aalto.fi/vpv/publications/vesan_vaitos/ch3_pt1_fir.pdf + +% TODO: cite sources \begin{figure} \centering @@ -402,7 +398,7 @@ Notice that by letting \(K = 0\), that is no power in the LOS path, \eqref{eqn:m \begin{equation} p(a)= 2a(1+K) \exp{\left(-K -a^2 (K+1) \right)} I_0 \left(2a\sqrt{K(1+K)} \right), \end{equation} -where \(I_0\) the zeroth order modified Bessel function. +where \(I_0\) the zeroth order modified Bessel function. Random variables with this probability density function are said to have a Rice or Rician distribution. % The Phase for the strait line component has no influences for the Random process therefore there set to zero. In the case when \(K = 0\). % the Rician distribution becomes a Rayleight distribution on the other hand when \(K\rightarrow \infty \) the distribution becomes an AWGN-channel model (additive white Gaussian noise). When \(K > 0 \) is the phase not equally distributed. diff --git a/doc/thesis/figures/tikz/multipath-sketch.tex b/doc/thesis/figures/tikz/multipath-sketch.tex index d5bc5bb..bcf0287 100644 --- a/doc/thesis/figures/tikz/multipath-sketch.tex +++ b/doc/thesis/figures/tikz/multipath-sketch.tex @@ -13,7 +13,7 @@ \draw (5,0) pic (R) {antenna} node[above right = 3mm] {\sffamily\bfseries RX}; % wall coefficients - \draw[thick] (4.75, 2.25) to[out = -20, in = 180] ++(1.2,-.5) node[right] {\(|\Gamma| > 0\)}; + \draw[thick] (4.75, 2.25) to[out = -20, in = 180] ++(1.2,-.5); % node[right] {\(|\Gamma| > 0\)}; % walls \draw[thick, fill = lightgray!20] (3,2) -- ++(2,-.5) -- ++(0,1) -- ++(-2,.5) -- cycle; diff --git a/doc/thesis/figures/tikz/packet-frame.tex b/doc/thesis/figures/tikz/packet-frame.tex index 8bef47b..e8e53ee 100644 --- a/doc/thesis/figures/tikz/packet-frame.tex +++ b/doc/thesis/figures/tikz/packet-frame.tex @@ -15,18 +15,18 @@ \matrix[ column sep = -1pt, nodes = { - draw, rectangle, thick, + draw, rectangle, very thick, minimum height = 12mm, text width = 20mm, align = center, }, ]{ - \node {Preamble \\ \(k\) Bytes}; & - \node (pad) {Padding \\ 1 Bit}; & - \node (id) {ID \\ 5 Bits}; & - \node {Length \\ 21 Bits}; & - \node (par) {Parity \\ 5 Bits}; & - \node {Payload \\ \(\ell\) Bytes}; \\ + \node[] {Preamble \\ \(k\) Bytes}; & + \node[fill=lightgray!20] (pad) {Padding \\ 1 Bit}; & + \node[fill=red!10] (id) {ID \\ 5 Bits}; & + \node[fill=red!10] {Length \\ 21 Bits}; & + \node[fill=red!10] (par) {Parity \\ 5 Bits}; & + \node[] {Payload \\ \(\ell\) Bytes}; \\ % \node{Padding }; \\ }; |