summaryrefslogtreecommitdiff
path: root/ma/safety_reset.tex
diff options
context:
space:
mode:
authorjaseg <git-bigdata-wsl-arch@jaseg.de>2020-04-03 17:00:28 +0200
committerjaseg <git-bigdata-wsl-arch@jaseg.de>2020-04-03 17:00:28 +0200
commit97a94bac2902782c38bdcd69a1a4610bf7408cfb (patch)
treefe511e5aa16aaf8487932b63387604860116e3b9 /ma/safety_reset.tex
parent7532f38349d6bf0519402d29a8084851676d3251 (diff)
downloadmaster-thesis-97a94bac2902782c38bdcd69a1a4610bf7408cfb.tar.gz
master-thesis-97a94bac2902782c38bdcd69a1a4610bf7408cfb.tar.bz2
master-thesis-97a94bac2902782c38bdcd69a1a4610bf7408cfb.zip
thesis: Add grid frequency measurement plots
Diffstat (limited to 'ma/safety_reset.tex')
-rw-r--r--ma/safety_reset.tex52
1 files changed, 51 insertions, 1 deletions
diff --git a/ma/safety_reset.tex b/ma/safety_reset.tex
index a292458..f8c97f6 100644
--- a/ma/safety_reset.tex
+++ b/ma/safety_reset.tex
@@ -889,7 +889,7 @@ despite numerous distortions.
\begin{figure}
\centering
\includegraphics{../lab-windows/fig_out/mains_voltage_spectrum}
- \caption{Fourier transform of an 8 hour capture of mains voltage. Data was captured using our frequency measurement
+ \caption{Fourier transform of a 24 hour capture of mains voltage. Data was captured using our frequency measurement
sensor described in section \ref{sec-fsensor} and FFT'ed after applying a blackman window. Vertical lines indicate
$50 \text{Hz}$ and odd harmonics.}
\label{mains_voltage_spectrum}
@@ -1055,6 +1055,44 @@ interface and its good tolerance of system resets due to unexpected power loss.
\subsection{Frequency sensor measurement results}
+\begin{figure}
+ \centering
+ \includegraphics{../lab-windows/fig_out/freq_meas_trace_24h}
+ \caption{Trace of grid frequency over a 24 hour window. One clearly visible feature are large positive and negative
+ transients at full hours. Times shown are UTC. Note that the european continental synchronous area that this
+ sensor is placed in covers several time zones which may result in images of daily load peaks appearing in 1 hour
+ intervals. Fig.\ \ref{freq_meas_trace_mag} contains two magnified intervals from this plot.}
+ \label{freq_meas_trace}
+\end{figure}
+\begin{figure}
+ \begin{subfigure}{\textwidth}
+ \centering
+ \includegraphics{../lab-windows/fig_out/freq_meas_trace_2h_1}
+ \caption{A 2 hour window around 00:00 UTC.}
+ \end{subfigure}
+ \begin{subfigure}{\textwidth}
+ \centering
+ \includegraphics{../lab-windows/fig_out/freq_meas_trace_2h_2}
+ \caption{A 2 hour window around 18:30 UTC.}
+ \end{subfigure}
+ \caption{Two magnified 2 hour windows of the trace from fig.\ \ref{freq_meas_trace}.}
+ \label{freq_meas_trace_mag}
+\end{figure}
+
+\begin{figure}
+ \centering
+ \includegraphics{../lab-windows/fig_out/freq_meas_spectrum}
+ \caption{Fourier transform of the 24 hour grid frequency trace in fig. \ref{freq_meas_trace} with some notable peaks
+ annotated with the corresponding period in seconds. The $\frac{1}{f}$ line indicates a pink noise spectrum. We can
+ clearly see the noise spectrum flattens below some frequency around $\frac{1}{120 \text{s}}$. This effect is due to
+ primary control actively regulating grid frequency over such time intervals. Beyond the $\frac{1}{f}$ slope starting
+ at around $1 \text{Hz}$ we can make out a white noise floor in the order of $\frac{\mu\text{Hz}}{\text{Hz}}$.
+ % TODO: where does this noise floor come from? Is it a fundamental property of the grid? Is it due to limitations of
+ % our measurement setup (such as ocxo stability/phase noise) ???
+ }
+ \label{freq_meas_spectrum}
+\end{figure}
+
Captured raw waveform data is processed in the Jupyter Lab environment\cite{kluyver01} and grid frequency estimates are
extracted as described in sec. \ref{frequency_estimation} using the \textcite{gasior01} technique. Appendix
\ref{grid_freq_estimation_notebook} contains the Jupyter notebook we used for frequency measurement.
@@ -1063,6 +1101,16 @@ extracted as described in sec. \ref{frequency_estimation} using the \textcite{ga
\section{Channel simulation and parameter validation}
+To validate all layers of our communication stack from modulation scheme to cryptography we built a prototype
+implementation in python. Implementing all components in a high-level language builds up familiartiy with the concepts
+while taking away much of the implementation complexity. For our demonstrator we will not be able to use python since
+our target platform is a cheap low-end microcontroller. Our demonstrator firmware will have to be written in a low-level
+language such as C or rust. For prototyping these languages lack flexibility compared to python.
+% FIXME introduce project outline, specs -> proto -> demo above!
+
+To validate our modulation scheme we performed a series of simulations. We produced modulated frequency data that we
+superimposed with either of simulated pink noise or an actual grid frequency measurement series.
+% FIXME do test series with simulated noise emulating measured noise spectrum
\section{Implementation of a demonstrator unit}
@@ -1070,6 +1118,8 @@ extracted as described in sec. \ref{frequency_estimation} using the \textcite{ga
\section{Lessons learned}
+
+
\chapter{Future work}
\section{Technical standardization}
The description of a safety reset system provided in this work could be translated into a formalized technical standard