From 19b6c78cb18b2c009494453ca5fe5ae2d5fb751d Mon Sep 17 00:00:00 2001 From: Severin Kaderli Date: Tue, 10 Jan 2023 21:04:43 +0100 Subject: [PATCH] Work on thesis report Signed-off-by: Severin Kaderli --- .../thesis/content/01_introduction.tex | 2 - .../thesis/content/02_preliminaries.tex | 6 +- .../thesis/content/04_requirements.tex | 3 - documentation/thesis/content/05_solution.tex | 2 +- documentation/thesis/content/06_testing.tex | 2 + .../thesis/content/07_benchmarking.tex | 128 +++++++++++++++++- .../thesis/content/08_materials_methods.tex | 2 + documentation/thesis/thesis.bib | 31 +++++ 8 files changed, 163 insertions(+), 13 deletions(-) diff --git a/documentation/thesis/content/01_introduction.tex b/documentation/thesis/content/01_introduction.tex index 8519694..12447d6 100644 --- a/documentation/thesis/content/01_introduction.tex +++ b/documentation/thesis/content/01_introduction.tex @@ -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 diff --git a/documentation/thesis/content/02_preliminaries.tex b/documentation/thesis/content/02_preliminaries.tex index 7f137a1..f95a090 100644 --- a/documentation/thesis/content/02_preliminaries.tex +++ b/documentation/thesis/content/02_preliminaries.tex @@ -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 diff --git a/documentation/thesis/content/04_requirements.tex b/documentation/thesis/content/04_requirements.tex index d276313..1badc29 100644 --- a/documentation/thesis/content/04_requirements.tex +++ b/documentation/thesis/content/04_requirements.tex @@ -72,6 +72,3 @@ \end{reqTblr} \caption{Non Functional Requirement 02} \end{table} - - -// TODO: Clarify speed values diff --git a/documentation/thesis/content/05_solution.tex b/documentation/thesis/content/05_solution.tex index c047a2d..1bdc9e7 100644 --- a/documentation/thesis/content/05_solution.tex +++ b/documentation/thesis/content/05_solution.tex @@ -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} diff --git a/documentation/thesis/content/06_testing.tex b/documentation/thesis/content/06_testing.tex index ff69ac0..2eb20b4 100644 --- a/documentation/thesis/content/06_testing.tex +++ b/documentation/thesis/content/06_testing.tex @@ -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 diff --git a/documentation/thesis/content/07_benchmarking.tex b/documentation/thesis/content/07_benchmarking.tex index f05d61d..901e247 100644 --- a/documentation/thesis/content/07_benchmarking.tex +++ b/documentation/thesis/content/07_benchmarking.tex @@ -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 diff --git a/documentation/thesis/content/08_materials_methods.tex b/documentation/thesis/content/08_materials_methods.tex index 1453f52..5609fc8 100644 --- a/documentation/thesis/content/08_materials_methods.tex +++ b/documentation/thesis/content/08_materials_methods.tex @@ -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 diff --git a/documentation/thesis/thesis.bib b/documentation/thesis/thesis.bib index bc86cb5..167009d 100644 --- a/documentation/thesis/thesis.bib +++ b/documentation/thesis/thesis.bib @@ -141,3 +141,34 @@ year = 2022, urldate = "2022-01-09", } + +@online{hallEffect, + author = "Robert Keim", + title = {{Understanding and Applying the Hall Effect}}, + url = "https://www.allaboutcircuits.com/technical-articles/understanding-and-applying-the-hall-effect", + year = 2015, + urldate = "2022-01-10", +} + +@online{hallEffect2, + author = "Carl R. Nave", + title = {{Hall Effect}}, + url = "http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/Hall.html", + year = 1998, + urldate = "2022-01-10", +} + +@online{hallEffectSensor, + author = "{{GSMScore}}", + title = {{Mobiles with Hall Effect Sensors available in Market}}, + url = "https://www.gsmscore.com/model-finder/sensors/hall-effect/", + urldate = "2022-01-10", +} + +@online{smartphoneSensors, + author = "David Nield", + title = {{All the Sensors in Your Smartphone, and How They Work}}, + url = "https://gizmodo.com/all-the-sensors-in-your-smartphone-and-how-they-work-1797121002", + year = 2020, + urldate = "2022-01-10", +}