diff options
Diffstat (limited to 'ma')
-rw-r--r-- | ma/resources/nbexport.tplx | 14 | ||||
-rw-r--r-- | ma/safety_reset.bib | 56 | ||||
-rw-r--r-- | ma/safety_reset.tex | 52 |
3 files changed, 104 insertions, 18 deletions
diff --git a/ma/resources/nbexport.tplx b/ma/resources/nbexport.tplx index a279827..f3f47bc 100644 --- a/ma/resources/nbexport.tplx +++ b/ma/resources/nbexport.tplx @@ -9,5 +9,17 @@ ((*- endblock header -*)) -((* block maketitle *))\vspace*{3cm}((* endblock maketitle *)) +((* block maketitle *))\vspace*{1cm}((* endblock maketitle *)) + +((* block stream *)) + ((*- if output.name != 'stderr' -*)) + ((( super() ))) + ((*- endif -*)) +((* endblock stream *)) + +((* block data_text *)) + ((*- if 'application/vnd.jupyter.widget-view+json' not in output.data -*)) + ((( super() ))) + ((*- endif -*)) +((* endblock data_text *)) diff --git a/ma/safety_reset.bib b/ma/safety_reset.bib index cbec74b..1614345 100644 --- a/ma/safety_reset.bib +++ b/ma/safety_reset.bib @@ -472,14 +472,14 @@ x-color = {#cc3300}, year = {2018} } - -@techreport{entsoe01, - author = {ENTSO-E System Protection Dynamics and WG}, - month = mar, - title = {Oscillation Event 03.12.2017}, - url = {https://docstore.entsoe.eu/Documents/SOC%20documents/Regional_Groups_Continental_Europe/OSCILLATION_REPORT_SPD.pdf}, - year = {2018} -} +
+@TechReport{entsoe01,
+ author = {{ENTSO-E System Protection Dynamics and WG}},
+ title = {Oscillation Event 03.12.2017},
+ url = {https://docstore.entsoe.eu/Documents/SOC%20documents/Regional_Groups_Continental_Europe/OSCILLATION_REPORT_SPD.pdf},
+ month = mar,
+ year = {2018},
+}
@article{leveson01, author = {Nancy G. Leveson and Clark S. Turner}, @@ -540,14 +540,14 @@ title = {Smart meters in smart grid: An overview}, year = {2013} } - -@techreport{cenelec01, - author = {The CEN/CENELEC/ETSI Joint Working Group Standards Smart on for Grids}, - month = may, - organization = {CEN/CENELEC/ETSI}, - title = {Final report of the CEN/CENELEC/ETSI Joint Working Group on Standards for Smart Grids}, - year = {2011} -} +
+@TechReport{cenelec01,
+ author = {{The CEN/CENELEC/ETSI Joint Working Group Standards Smart on for Grids}},
+ title = {Final report of the CEN/CENELEC/ETSI Joint Working Group on Standards for Smart Grids},
+ month = may,
+ organization = {CEN/CENELEC/ETSI},
+ year = {2011},
+}
@techreport{pariente01, author = {Dillon Pariente and Emmanuel Ledinot}, @@ -820,4 +820,28 @@ year = {2016},
}
+@Article{perrin01,
+ author = {Perrin, Trevor},
+ title = {The Noise protocol framework, 2015},
+ journal = {URL http://noiseprotocol. org/noise. pdf},
+ year = {2016},
+}
+
+@Article{kabalci01,
+ author = {Yasin Kabalci},
+ title = {A survey on smart metering and smart grid communication},
+ doi = {10.1016/j.rser.2015.12.114},
+ issn = {1364-0321},
+ pages = {302-318},
+ volume = {57},
+ year = {2016},
+}
+
+@Thesis{gasior02,
+ author = {Gasior, Marek},
+ title = {{Improving frequency resolution of discrete spectra: algorithms of three-node interpolation}},
+ url = {https://cds.cern.ch/record/1346070},
+ year = {2006},
+}
+
@Comment{jabref-meta: databaseType:biblatex;}
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 |