Work on thesis report

Signed-off-by: Severin Kaderli <severin@kaderli.dev>
This commit is contained in:
Severin Kaderli 2023-01-10 21:04:43 +01:00
parent 36a642d0b4
commit 19b6c78cb1
Signed by: severinkaderli
GPG key ID: F419F8835B72F0C4
8 changed files with 163 additions and 13 deletions

View file

@ -9,5 +9,3 @@ Other reseach projects in this area exists and some have covered the use of the
This thesis will research the concept of communication using magnetic induction and will create a prototype implementation of a protocol that works through attempted manipulation of magnetic fields using a CPU in a Laptop. A simple user interface in the form of a website is created that allows an user to send text over the protocol and an Android application is used for receiving the text over the protocol.
// TODO: Reword the introduction
// TODO: Add more glossary entries

View file

@ -34,8 +34,10 @@ Manchester is a simple encoding code for the transmission of binary data. The da
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
\section{Hall Effect Sensor}
A Hall Effect Sensor is a type of sensor to measure the strength of magnetic fields. This type of magnetometer is found in many smartphones today \cite{hallEffectSensor} and is generally used for compass capabilities and for positioning \cite{smartphoneSensors}.
It utilizes the so-called hall effect to do so. The hall effect is the voltage between two sides of a current-carrying conductor inside a magnetic field \cite{hallEffect} \cite{hallEffect2}.
\section{Magnetic Induction}
// TODO: Write this section

View file

@ -72,6 +72,3 @@
\end{reqTblr}
\caption{Non Functional Requirement 02}
\end{table}
// TODO: Clarify speed values

View file

@ -8,7 +8,7 @@ The main communication protocol works over magnetic induction. By putting a load
For simplification purposes the protocol in this project is used to transmit ASCII text but in reality any bitstream can be transmitted.
To indicate the start of a message in the signal, a preamble is used. The preamble used in this protocol is 3 high signals, followed by 3 low signals, followed by 3 high signals. The duration of one signal in preamble is 1 second. That means the entire preamble takes 9 seconds.
To indicate the start of a message in the signal, a preamble is used. The preamble used in this protocol is 3 high signals, followed by 3 low signals, followed by 3 high signals. The duration of one signal in the preamble is 1 second. That means the entire preamble takes 9 seconds.
\subsection{Packet Format}
\subsubsection*{Encoding}

View file

@ -426,3 +426,5 @@ The following test cases are all structured in the same way. The table lists the
\end{reqTblr}
\caption{Test Case 15}
\end{table}
// TODO: Fix up layout of images

View file

@ -1,14 +1,132 @@
\chapter{Benchmarking}
\label{chapter:benchmarking}
This chapter will research the real world capabilities of MagSend. I attempt to transmit a message using different speeds of MagSend under different system CPU loads to see how it performs and which transfer speed is the most reliable to use.
// TODO: Benchmarking different speeds with different loads
The following benchmark test are structured in the same way. I run each test 5 times to get a more accurate view of the test. For each test I note if MagSend can detect the preamble, the received payload length, whether the \gls{crc} is valid and the received message.
// TODO: For each benchmark note if the preamble can be detected
The message used in the test transmissions is "\textbf{Test}".
// TODO: For each benchmark note if the payload length, payload and crc are correct
// TODO: Run multiple benchmarks for each "case"
\section{25\% CPU Load}
\subsection{\SI{1}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 25\% CPU Load - \SI{1}{\bit\per\second}}
\end{table}
\subsection{\SI{2}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 25\% CPU Load - \SI{2}{\bit\per\second}}
\end{table}
\subsection{\SI{4}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 25\% CPU Load - \SI{4}{\bit\per\second}}
\end{table}
\section{50\% CPU Load}
\subsection{\SI{1}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 50\% CPU Load - \SI{1}{\bit\per\second}}
\end{table}
\subsection{\SI{2}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 50\% CPU Load - \SI{2}{\bit\per\second}}
\end{table}
\subsection{\SI{4}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 50\% CPU Load - \SI{4}{\bit\per\second}}
\end{table}
\section{75\% CPU Load}
\subsection{\SI{1}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 75\% CPU Load - \SI{1}{\bit\per\second}}
\end{table}
\subsection{\SI{2}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 75\% CPU Load - \SI{2}{\bit\per\second}}
\end{table}
\subsection{\SI{4}{\bit\per\second}}
\begin{table}[H]
\begin{bfhTabular}{l l l l l}
Run & Preamble Detected & Payload Length & Is CRC Valid & Received Message \\
1 & Preamble Detected & Payload Length & CRC Valid & Test\\
2 & Preamble Detected & Payload Length & CRC Valid & Test\\
3 & Preamble Detected & Payload Length & CRC Valid & Test\\
4 & Preamble Detected & Payload Length & CRC Valid & Test\\
5 & Preamble Detected & Payload Length & CRC Valid & Test
\end{bfhTabular}
\caption{Benchmark - 75\% CPU Load - \SI{4}{\bit\per\second}}
\end{table}
// TODO: Add graphs to each benchmark
// TODO: Power Supply

View file

@ -1,3 +1,5 @@
\chapter{Materials \& Methods}
* Laptop with Web-Browser capable of Web Workers
* Smartphone with Magnetometer
// CPU of Laptop and Magnetometer of Smartphone