Work on glossary and preliminaries
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Signed-off-by: Severin Kaderli <severin@kaderli.dev>
This commit is contained in:
Severin Kaderli 2023-01-09 21:48:13 +01:00
parent c1012204fc
commit 36a642d0b4
Signed by: severinkaderli
GPG key ID: F419F8835B72F0C4
5 changed files with 69 additions and 8 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -1,6 +1,6 @@
\chapter{Introduction}
In our lifes we use many communication technologies that work over a short range: for connecting our mice and keyboards to our computers, listening to music wirelessly and to pay contactlessly. Those technologies include but are not limited to: Bluetooth, RFID, NFC and many others.
In our lifes we use many communication technologies that work over a short range: for connecting our mice and keyboards to our computers, listening to music wirelessly and to pay contactlessly. Those technologies include but are not limited to: Bluetooth, \gls{rfid}, \gls{nfc} and many others.
What many of those technologies have in common is that they work on top of radio waves that utilize electromagnetic induction. Some problems of radio waves are the difficulty of passing through conductive materials such as water or metals \cite{RadioWaves} and they are susceptible to interference \cite{RadioInterference} and jamming \cite{RadioJamming}.

View file

@ -2,20 +2,37 @@
\section{Web Worker}
Web Workers are a web API that allows running JavaScript code in background threads in the browser. This way you can run CPU intensive processes without stalling the main thread and locking up the UI.
There's a few limitations with Web Workers. A Web Worker doesn't have access to the DOM, the window object and some web APIs.
There's a few limitations with Web Workers. A Web Worker doesn't have access to the \gls{dom}, to the window object and to some web APIs.
The main thread and Web Workers can communicate together using messages. They can send their messages using a postMessage method and the other side receives a message event it can act upon. \cite{WebWorkers}
Web Workers are used in this project to put a load on the CPU to modify the magnetic field without locking up the website itself.
The main thread and Web Workers can communicate together using messages. \cite{WebWorkers}
\section{CRC}
\label{section:crc}
\gls{crc}
// TODO: Write this section
\gls{crc} is a family of error detection codes designed to check if a message has been corrupted during transmission. To check if any errors ocurred during transmission, the checksum that was transmitted with the message, and the checksum that is calculated from the received message are compared, if they don't match, the message contains an error.
For calculating a \gls{crc} value message, which is treated as a binary polynomial is divided by another value, to so-called generator polynomial. The remainder of this division is the checksum value. The order of the generator polynomial defines the bit-length of the resulting checksum \cite{crcGuide}.
Depending on the chosen generator polynomial different groups of errors can be detected \cite{crcErrors}:
\begin{itemize}
\item{A single, and double bit errors can always be detected}
\item{Depending on the polynomial more bit errors can be detected inside specific message lengths}
\item{Using a n-bit generator polynomial can detect burst errors of up to n-bits in length}
\item{A generator polynomial with an even amount of terms can detect errors with an odd amount of bits}
\end{itemize}
Because of these small variations there many different implementations of \gls{crc} algorithms in use and defined by different parties \cite{crcCatalogue}.
\section{Manchester Code}
// TODO: Write this section
Manchester is a simple encoding code for the transmission of binary data. The data is encoded in the transistions of the signal instead of simple high or low values. A transition from low to high indicates a 0 and a transition from high to low indicates a 1 in the original definition by G. E. Thomas, in the definition from IEEE the values of the transitions are swapped (see \autoref{figure:manchester_code}).
\begin{figure}[H]
\includegraphics[width=\textwidth]{manchester_code.png}
\caption{Manchester Code\cite{manchesterCodeImage}}
\label{figure:manchester_code}
\end{figure}
The advantages of manchester encoding is that there are no prolonged high or low signals and the original clock signal can be extracted from the signal, on the other side the bandwidth requirements are doubled as two bits in the signal are needed to encode one bit of the original data \cite{manchesterCode}.
\section{Hall Sensor}
// TODO: Write this section

View file

@ -1 +1,4 @@
\newacronym{crc}{CRC}{Cyclic Redundancy Code}
\newacronym{dom}{DOM}{Document Object Model}
\newacronym{rfid}{RFID}{Radio-frequency identification}
\newacronym{nfc}{NFC}{Near-field communication}

View file

@ -100,3 +100,44 @@
year = 2022,
urldate = "2022-01-04"
}
@online {crcGuide,
author = "Ross N. Williams",
title = {{A Painless Guide to CRC Error Detection Algorithms}},
url = "https://zlib.net/crc_v3.txt",
year = 1993,
urldate = "2022-01-09"
}
@online {crcCatalogue,
author = "Greg Cook",
title = {{Catalogue of parametrised CRC algorithms}},
url = "https://reveng.sourceforge.io/crc-catalogue/all.htm",
year = 2022,
urldate = "2022-01-09"
}
@online {crcErrors,
author = "Richard Tervo",
title = {{Error Detection with the CRC}},
url = "https://www.ece.unb.ca/tervo/ece4253/crc.shtml",
year = 2016,
urldate = "2022-01-09"
}
@Misc {manchesterCodeImage,
author = "Stefan Schmidt",
title = {{Manchester Code}},
url = "https://commons.wikimedia.org/wiki/File:Manchester_encoding_both_conventions.svg",
year = 2006,
urldate = "2022-01-09",
note = {{License: Public Domain}}
}
@online{manchesterCode,
author = "Richard Oed",
title = {{Old, but Still Useful: The Manchester Code}},
url = "https://www.digikey.ch/en/blog/old-but-still-useful-the-manchester-code",
year = 2022,
urldate = "2022-01-09",
}