diff options
Diffstat (limited to 'ma')
-rw-r--r-- | ma/Makefile | 7 | ||||
-rw-r--r-- | ma/resources/nbexport.tplx | 13 | ||||
-rw-r--r-- | ma/safety_reset.tex | 17 |
3 files changed, 35 insertions, 2 deletions
diff --git a/ma/Makefile b/ma/Makefile index f693b51..c3d61b7 100644 --- a/ma/Makefile +++ b/ma/Makefile @@ -1,4 +1,6 @@ +LAB_PATH ?= ../lab-windows + SHELL := bash .ONESHELL: .SHELLFLAGS := -eu -o pipefail -c @@ -8,11 +10,16 @@ MAKEFLAGS += --no-builtin-rules all: safety_reset.pdf +safety_reset.pdf: resources/grid_freq_estimation.pdf + %.pdf: %.tex %.bib pdflatex -shell-escape $< biber $* pdflatex -shell-escape $< +resources/%.pdf: $(LAB_PATH)/%.ipynb + jupyter-nbconvert --to=pdf --output-dir=resources --output=$* --LatexExporter.template_file=resources/nbexport.tplx $^ + .PHONY: clean clean: rm -f safety_reset.aux safety_reset.bbl safety_reset.bcf safety_reset.log safety_reset.blg diff --git a/ma/resources/nbexport.tplx b/ma/resources/nbexport.tplx new file mode 100644 index 0000000..6346c67 --- /dev/null +++ b/ma/resources/nbexport.tplx @@ -0,0 +1,13 @@ + +((*- extends 'article.tplx' -*)) + +((*- block header -*)) + + ((( super() ))) + + \pagenumbering{gobble} + +((*- endblock header -*)) + +((* block maketitle *))((* endblock maketitle *)) + diff --git a/ma/safety_reset.tex b/ma/safety_reset.tex index 154fbda..868c6e3 100644 --- a/ma/safety_reset.tex +++ b/ma/safety_reset.tex @@ -47,6 +47,7 @@ \usetikzlibrary{calc} %\usepackage[pdftex]{graphicx,color} \usepackage{epstopdf} +\usepackage{pdfpages} % Needed for murks.tex \usepackage{setspace} \usepackage[draft=false,babel,tracking=true,kerning=true,spacing=true]{microtype} % optischer Randausgleich etc. @@ -56,6 +57,10 @@ \newcommand{\degree}{\ensuremath{^\circ}} \newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} +\usepackage{fancyhdr} +\fancyhf{} +\fancyfoot[C]{\thepage} + \begin{document} % Beispielhafte Nutzung der Vorlage für die Titelseite (bitte anpassen): @@ -778,7 +783,7 @@ an \emph{arbitrary} signal this would highly limit our practical measurement acc instead just amounts to an interpolation between output bins. Depending on the downstream analysis algorithm it may still be sensible to use this property of the DFT for interpolation, but in general it will be computationally expensive compared to other interpolation methods and in any case it will not yield any better frequency resolution - aside from a hypothetical numerical advantage\cite{gasior01}. + aside from a hypothetical numerical advantage\cite{gasior02}. }. For this reason all approaches to mains frequency estimation are based on a model of the mains voltage waveform. Nominally, this waveform would be a perfect sine at $f = 50 \text{Hz}$. In practice it is a sine at $f \approx 50 @@ -989,7 +994,8 @@ interface and its good tolerance of system resets due to unexpected power loss. \subsection{Frequency sensor measurement results} 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. +extracted as described in sec. \ref{frequency_estimation} using the \textcite{gasior01} technique. Appendix +\ref{grid_freq_est_notebook} contains the Jupyter notebook we used for frequency measurement. % FIXME comparison against reference measurements? @@ -1088,6 +1094,13 @@ correctly configure than it is to simply use separate hardware and secure the in \printbibliography \newpage +\chapter{Transcripts of Jupyter notebooks used in this thesis} + +\section{Grid frequency estimation} +\label{grid_freq_est_notebook} +\fancyhead[C]{Included Jupyter notebook: Grid frequency estimation} +\includepdf[pages=-, pagecommand=\thispagestyle{fancy}]{resources/grid_freq_estimation.pdf} + \chapter{Demonstrator schematics and code} \chapter{Economic viability of countermeasures} |