% vim: fdm=marker fmr=<<<,>>>
\documentclass[../thesis.tex]{subfiles}

\graphicspath{
	{.}
	{../../figures/}
	{../../../figures/}
}

\begin{document}
\chapter[Single Sine Synchronisation]{Single Sine Beacon Synchronisation and Radio Interferometry}
\label{sec:single_sine_sync}

% <<<
As shown in Chapter~\ref{sec:disciplining}, both impulsive and sine beacon signals can synchronise air shower radio detectors to enable the interferometric reconstruction of extensive air showers.
This chapter will focus on using a single sine beacon to synchronise an array due to the simple setup and analysis required for such a beacon.
Additionally, at \gls{Auger}, a public TV-transmitter is broadcasting at $67.25\MHz$.
This poses an opportunity to use a ``free'' beacon to synchronise the radio antennas of \gls{AERA} and \gls{AugerPrime}.
\\

Due to the periodicity of sine beacons, the ability to synchronise an array is limited up to the beacon period $T$.
As previously mentioned, the correct periods can be ascertained by choosing a beacon period much longer than the estimated accuracy of another timing mechanism.\footnote{For reference, \gls{GNSS} timing is expected to be below $30\ns$}
Likewise, this can be achieved using the beating of multiple frequencies such as the four frequency setup in \gls{AERA}, amounting to a total period of $>1\ns$..
\\

In this chapter, a different method of resolving these period mismatches is investigated by recording an impulsive signal in combination with the sine beacon.
Figure~\ref{fig:beacon_sync:sine} shows the steps of synchronisation using this combination.
The extra signal declares a shared time $\tTrueEmit$ that is common to the stations, after which the periods can be counted.
Note that the period mismatch term $\Delta k_{ij}$ in \eqref{eq:synchro_mismatch_clocks_periodic} will be referenced throughout this Chapter as $k$ since we can take station $i$ as reference ($k_i =0$).
\\

\begin{figure}%<<<
	\centering
	\begin{subfigure}[t]{0.47\textwidth}
		\includegraphics[width=\textwidth]{beacon/beacon_sync.pdf}
		\caption{
			Phase alignment
		}
		\label{fig:beacon_sync:syntonised}
	\end{subfigure}
	\hfill
	\begin{subfigure}[t]{0.47\textwidth}
		\includegraphics[width=\textwidth]{beacon/beacon_sync_period.pdf}
		\caption{
			Period alignment
		}
		\label{fig:beacon_sync:period_alignment}
	\end{subfigure}
	\caption{
		Synchronisation scheme for two antennas using a single sine wave beacon (orange) and an impulsive signal (blue).
		Vertical dashed lines indicate periods of the sine wave.
		\subref{fig:beacon_sync:syntonised} A small time delay $t_\varphi$ is derived from the phase difference of the beacon as measured by the antennas.
		\subref{fig:beacon_sync:period_alignment} The period mismatch $k$ is determined from the overlap between the impulsive signals.
		%Expecting the impulsive signals to come from the same source, the overlap between the impulsive signals is used to determine the period mismatch $k$.
		Note that the impulsive signals do not coincide perfectly due to different propagation delays from the source to the antennas.
	}
	\label{fig:beacon_sync:sine}
%	\begin{subfigure}{\textwidth}
%		\centering
%		\includegraphics[width=\textwidth]{beacon/08_beacon_sync_timing_outline.pdf}
%		\caption{
%			Measure two waveforms at different antennas at approximately the same local time (clocks are not synchronised).
%		}
%		\label{fig:beacon_sync:timing_outline}
%	\end{subfigure}
%	\begin{subfigure}{\textwidth}
%		\centering
%		\includegraphics[width=\textwidth]{beacon/08_beacon_sync_synchronised_outline.pdf}
%		\caption{
%			The beacon signal is used to remove time differences smaller than the beacon's period.
%			The detector clocks are now an unknown amount of periods out of sync.
%		}
%		\label{fig:beacon_sync:syntonised}
%	\end{subfigure}
%	\begin{subfigure}{\textwidth}
%		\centering
%		\includegraphics[width=\textwidth]{beacon/08_beacon_sync_synchronised_period_alignment.pdf}
%		\caption{
%			Lifting period degeneracy ($k=n-m=7$ periods) using the optimal overlap between impulsive signals.
%			\protect\Todo{note misaligned overlap due to different locations}
%		}
%		\label{fig:beacon_sync:period_alignment}
%	\end{subfigure}
%	\caption{
%		Synchronisation scheme for two antennas using a continuous beacon and an impulsive signal, each emitted from a separate transmitter.
%		Vertical dashed lines indicate periods of the beacon (orange),
%		solid lines indicate the time of the impulsive signal (blue).
%		\\
%		\subref{fig:beacon_sync:syntonised}: The beacon allows to resolve a small timing delay ($\Delta \tClockPhase$).
%		\\
%		\subref{fig:beacon_sync:period_alignment}: Expecting the impulsive signals to come from the same source, the overlap between the two impulsive signals is used to lift the period degeneracy ($k=n-m$).
%	}
%	\label{fig:beacon_sync:sine}
%	\protect\Todo{
%		Redo figure without xticks and spines,
%		rename $\Delta \tClockPhase$
%	}
\end{figure}%>>>

% Same transmitter / Static setup
When the beacon transmitter is also used to emit the signal defining $\tTrueEmit$, the number of periods $k$ can be obtained directly from the signal.
However, if this calibration signal is sent from a different location, its time delays differ from the beacon's time delays.
\\
% Dynamic setup
For static setups, these time delays can be resolved by measuring the involved distances or by taking measurements of the time delays over time.
In dynamic setups, such as for transient signals, the time delays change per event and the distances are not known a priori.
The time delays must therefore be resolved from the information of a single event.
\\

% Beacon + Impulsive -> discrete
As shown in Chapter~\ref{sec:beacon:array}, an impulsive signal allows to reconstruct the direction of origin in a single event depending on the timing resolution of the array.
Synchronising the array with a sine beacon, any clock mismatch is discretized into a number of periods $k$.
This allows to improve the reconstruction by iterating the discrete clock mismatches during reconstruction.
\\
Of course, a limit on the number of periods is required to prevent over-optimisation.
In general, they can be constrained using estimates of the accuracy of other timing mechanisms (see below).
\\
With a restricted set of allowed period shifts, we can alternate optimising the calibration signal's origin and optimising the set of period time delays of the array.
% >>>

\section{Lifting the Period Degeneracy with an Air Shower}% <<<
% <<<<
% Airshower gives t0
In the case of radio detection of air showers, the very signal of the air shower itself can be used as the calibration signal.
This falls into the dynamic setup previously mentioned.
The best period defects must thus be recovered from a single event.
\\
When doing the interferometric analysis for a sine beacon synchronised array, waveforms can only be delayed by an integer amount of periods, thereby giving discrete solutions to maximising the interferometric signal.
\Todo{add size of shower at plane vs period defects in meters}

\subsection{Air Shower simulation}
% simulation of proton E15 on 10x10 antenna
To test the idea of combining a single sine beacon with an air shower, we simulated a set of recordings of a single air shower that also contains a beacon signal.
\footnote{\url{https://gitlab.science.ru.nl/mthesis-edeboone/m-thesis-introduction/-/tree/main/airshower_beacon_simulation}}
\\
The air shower signal (here a $10^{16}\eV$ proton) was simulated by \acrlong{ZHAires} on a grid of 10x10 antennas with a spacing of $50$\,meters.\Todo{cite ZHAires?}
Each antenna recorded a waveform of $500$ samples with a samplerate of $1\GHz$ for each of the X,Y and Z polarisations.\Todo{polarisation names}
%Figure~\ref{fig:single:proton_waveform} shows the earliest and latest waveforms recorded by the array with their true time.
\Todo{verify numbers in paragraph}
\\
Figure~\ref{fig:single:proton_grid} shows the maximum electric field measured at each of the antennas.
The ring of antennas with maximum electric fields in the order of $30\mathrm{\;\mu V/m}$ at the center of the array is the Cherenkov ring.
The Cherenkov ring forms due to the forward beaming of the radio emissions of the airshower.\Todo{expand/refer}
Outside this ring, the maximum electric field quickly falls with increasing distance to the array core.
\Todo{geometry, vertical shower}
\\

%% add beacon
A sine beacon ($\fbeacon = 51.53\MHz$) was introduced at a distance of approximately $75\mathrm{\,km}$ northwest of the array, primarily received in the X polarisation.
The distance between the antenna and the transmitter results in a phase offset with which the beacon is received at each antenna.%
\footnote{%<<<
	The beacon's amplitude is also dependent on the distance. Although simulated, this effect has not been incorporated in the analysis as it is negligible for the considered grid and distance to the transmitter.
} %>>>
The beacon signal was recorded over a longer time ($10240$\;samples), to be able to distinguish the beacon and air shower later in the analysis.
\\
The final waveform of an antenna (see Figure~\ref{fig:single:annotated_full_waveform}) was then constructed by adding its beacon and air shower waveforms and band-passing with relevant frequencies (here $30$ and $80\MHz$ are taken by default).
Of course, a gaussian white noise component is introduced to the waveform as a simple noise model (see Figure~\ref{fig:sine:time_accuracy} for a treatise on the timing accuracy of a sine beacon).
\\

\begin{figure}% <<<
	\centering
	\includegraphics[width=0.5\textwidth]{ZH_simulation/array_geometry_shower_amplitude.pdf}
	\caption{
		\protect\Todo{text}
		The 10x10 antenna grid used for recording the air shower.
		Colours indicate the maximum electric field recorded at the antenna.
	}
	\label{fig:single:proton_grid}
\end{figure}% >>>
\begin{figure}% <<<
	\begin{subfigure}[t]{0.49\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/ba_measure_beacon_phase.py.A74.no_mask.zoomed.pdf}
		\label{fig:single:annotated_full_waveform}
	\end{subfigure}
	\hfill
	\begin{subfigure}[t]{0.49\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/ba_measure_beacon_phase.py.A74.fourier.pdf}
		\label{fig:single:fourier}
	\end{subfigure}
	\caption{
		\textit{Left:}
		%\textit{Right:}
		%Example of the earliest and latest recorded air shower waveforms in the array as simulated by ZHAires.
		Excerpt of a fully simulated waveform ($N=10240\mathrm{\;samples}$) (blue) containing the air shower (a $10^{16}\eV$~proton), the beacon (green, $\fbeacon = 51.53\MHz$) and noise.
		The part of the waveform between the vertical dashed lines is considered airshower signal and masked before measuring the beacon parameters.
		\textit{Right:}
		Fourier spectra of the waveforms.
		The green dashed lines indicate the measured beacon parameters.
	}
	\label{fig:single:proton}
\end{figure}% >>>

% randomise clocks
After the creation of the antenna waveforms, the clocks are randomised by sampling a gaussian distribution with a standard deviation of $30\ns$. % (see Figure~\ref{fig:simu:sine:periods:repair_none}).
At a beacon period of $\sim 20\ns$, this ensures that multiple antennas have clock defects of at least one beacon period.
This in turn allows for synchronisation mismatches of more than one beacon period.
Moreover, it falls in the order of magnitude of clock defects that were found in \gls{AERA}\cite{PierreAuger:2015aqe}.
\\

% separate air shower from beacon
To correctly recover the beacon from the waveform, it must be separated from the air shower.
Typically, a trigger sets the location of the airshower signal in the waveform.
In our case, the airshower signal is located at $t=500\ns$ (see Figure~\ref{fig:single:annotated_full_waveform}).
Since the beacon can be recorded for much longer than the air shower signal, we mask a window of $500$ samples around the maximum of the trace as the air shower's signal.
% measure beacon phase, remove distance phase
The remaining waveform is fed into a \gls{DTFT} \eqref{eq:fourier:dtft} to measure the beacon's phase $\pMeas$ and amplitude.
Note that due to explicitly including a time axis in a \gls{DTFT}, a number of samples can be omitted without introducing artifacts.
\\
With the obtained beacon parameters, the air shower signal is in turn reconstructed by subtracting the beacon from the full waveform in the time domain.\Todo{cite GAP note?}
\\
The small clock defect $\tClockPhase$ is then finally calculated from the beacon's phase $\pMeas$ by subtracting the phase introduced by the propagation from the beacon transmitter.
\\

% introduce air shower
From the above, we now have a set of reconstructed air shower waveforms with corresponding clock defects smaller than one beacon period $T$.
Shifting the waveforms to remove these small clocks defects, we are left with resolving the correct number of periods $k$ per waveform (see Figure~\ref{fig:grid_power:repair_phases}).
\\

\begin{figure}%<<<
	\centering
	\includegraphics[width=0.8\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.run0.i1.kfind.pdf}
	\caption{
		Finding the maximum correlation for integer period shifts (best $k=-1$) between two waveforms recording the same (simulated) air shower.
		Randomising the antenna clocks up to $30\ns$ and $\fbeacon = 51.53\MHz$ corresponds to at most $3$ periods of time difference between two waveforms.
	}
	\label{fig:single:k-correlation}
\end{figure}%>>>

% >>>>
\subsection{\textit{k}-finding} % <<<

% unknown origin of air shower signal
Up until now, the shower axis and thus the origin of the air shower signal have not been resolved.
This means that the unknown propagation time delays for the air shower ($\tProp$) affect the alignment of the signals in Figure~\ref{fig:beacon_sync:period_alignment} in addition to the unknown clock period defects ($k_j T$).
As such, both this origin and the clock defects have to be determined simultaneously.
\\
% radio interferometry
If the antennas had been fully synchronised, radio interferometry as introduced in Section~\ref{sec:interferometry} can be applied to find the origin of the air shower signal, thus resolving the shower axis.
Still, a rough first estimate of the shower axis might be made using this or other techniques.% (see Figure~\ref{fig:dynamic-resolve}).
\\

Starting with an initial grid around this estimated axis, a two-step process zooms in on the shower axis while optimising the interferometric signal.
In this process each waveform of the array is allowed to shift by a restricted amount of periods with respect to a reference waveform (taken to be the waveform with the highest maximum).
\\
Note that these grids are defined in shower plane coordinates with $\vec{v}$ the true shower axis and $\vec{B}$ the local magnetic field.
Searching a grid that is slightly misaligned with the true shower axis is expected to give comparable results.
\\

The first step consists of finding the set of period shifts $k_j$ that maximises the overall maximum amplitude on the grid.
At each location, after removing propagation delays, each waveform and the reference waveform are summed with different time delays $kT$ to find the maximum attainable amplitude of the combined trace.%
\footnote{%<<<
	Note that one could use a correlation method instead of a maximum to select the best time delay.
	However, for simplicity and ease of computation, this has not been implemented.
%\Todo{incomplete p}
%As shown in Figure~\ref{fig:single:annotated_full_waveform}, the air shower signal has a length in the order of a few nanoseconds.
%Since it is this peak that is of interest, it would have been possible to cut the waveforms such to only correlate the peaks.
} %>>>
\\
As shown in Figure~\ref{fig:single:k-correlation}, the maximum possible period shift has been limited to $\pm 3\mathrm{\; periods}$.
This corresponds to the maximum expected time delay between two antennas with a clock randomisation up to $30\ns$ for the considered beacon frequency.
\\
%
This amplitude optimisation is iterated over the grid (see Figure~\ref{fig:findks:maxima}) resulting in a grid measurement of the maximum attainable amplitude and the corresponding set of period defects $k$.
\\

The second step applies the obtained period defects and measures the interferometric power on the same grid (see Figure~\ref{fig:findks:reconstruction}).
Afterwards, a new grid zooms in on the power maximum and the process is repeated (Figures~\ref{fig:findks:maxima:zoomed},~\ref{fig:findks:reconstruction:zoomed}) until the set of period defects is constant between zooming grids.
\\

\begin{figure}%<<< findks
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.maxima.run0.pdf}
		\caption{
			Maximum amplitudes obtainable by shifting the waveforms.
		}
		\label{fig:findks:maxima}
	\end{subfigure}
	\hfill
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.reconstruction.run0.power.pdf}
		\caption{
			Power measurement with the $k$s belonging to the overall maximum of the amplitude maxima.
		}
		\label{fig:findks:reconstruction}
	\end{subfigure}
	\\
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.maxima.run1.pdf}
		\caption{
			Maximum amplitudes, zoomed to the location in \ref{fig:findks:reconstruction} with the highest amplitude.
		}
		\label{fig:findks:maxima:zoomed}
	\end{subfigure}
	\hfill
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.reconstruction.run1.power.pdf}
		\caption{
			Power measurement of the new grid.
		}
		\label{fig:findks:reconstruction:zoomed}
	\end{subfigure}
	\\
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.maxima.run2.pdf}
		\caption{
			Final test grid obtaining the same $k$ as Figure~\ref{fig:findks:maxima:zoomed}.
		}
		\label{fig:findks:maxima:zoomed2}
	\end{subfigure}
	\hfill
	\begin{subfigure}[t]{0.45\textwidth}
		\includegraphics[width=\textwidth]{ZH_simulation/findks/ca_period_from_shower.py.reconstruction.run2.power.pdf}
		\caption{
			Final power measurement.
		}
		\label{fig:findks:reconstruction:zoomed2}
	\end{subfigure}
	\caption{
		Iterative $k$-finding algorithm:
		First \subref{fig:findks:maxima}, find the set of period shifts $k$ per point on a grid that returns the highest maximum amplitude (blue cross).
		The grid starts as a $8^\circ$ wide shower plane slice at $X=400\mathrm{\,g/cm}$, centred at the true shower axis (red cross).
		Second \subref{fig:findks:reconstruction}, perform the interferometric reconstruction with this set of period shifts.
		Zooming on the maximum power \subref{fig:findks:maxima:zoomed},\subref{fig:findks:reconstruction:zoomed} repeat the steps until the $k$'s are equal between the zoomed grids \subref{fig:findks:maxima:zoomed2},\subref{fig:findks:reconstruction:zoomed2}.
	}
	\label{fig:findks}
\end{figure}%>>>
% >>>

\clearpage
%\phantomsection
\subsection{Strategy / Result} %<<<

Figure~\ref{fig:grid_power_time_fixes} shows the effect of the various synchronisation stages on both the alignment of the air shower waveforms, and the interferometric power measurement near the true shower axis.
\\

The initial grid plays an important role here in finding the correct axis.
Due to selecting the highest maximum amplitude, and the process above zooming in aggressively, wrong candidate axes are selected when there is no grid-location sufficiently close to the true axis.
Figure~\ref{fig:findks:reconstruction} shows such a potential point near $(-1, 0.5)$ with a maximum that is comparable to the selected maximum near the true axis.
\\
% premature optimisation / degeneracy
Such locations are subject to differences in propagation delays that are in the order of a few beacon periods.
The restriction of the possible delays is therefore important to limit the number of potential axis locations.
\\

% fall in local extremum, maximum
In this analysis, the initial grid is defined as $8^\circ$ wide around the true axis.\Todo{why?}
As the number of computations scales linearly with the number of grid points ($N = N_x N_y$), it is favourable to minimise the number of grid locations.
Unfortunately, the above process has been observed to fall into local maxima when a too coarse initial grid ($N_x < 13$ at $X=400\mathrm{\,g/cm}$) was used while restricting the time delays to $\left| k \right| \leq 3$.
\\

Of course, this algorithm must be evaluated at proper\Todo{word} atmospheric depths where the interferometric technique can resolve the shower.
Additionally, since the true period shifts are static per event, the evaluation at multiple atmospheric depths allows to compare the obtained sets thereof.
\\

\Todo{directional reconstruction}
\Todo{missing power}
\Todo{res k Figure}

\begin{figure}% fig:simu:error
	\centering
	\includegraphics[width=\textwidth]{ZH_simulation/cb_report_measured_antenna_time_offsets.py.time-periods.residuals.pdf}
	\caption{
		Errors in the resolved clock defects with respect to the true clock defects.
	}
	\label{fig:simu:error:periods}
\end{figure}

%\begin{figure}%<<< fig:simu:sine:periods
%	\centering
%	\begin{subfigure}[t]{0.45\textwidth}
%		\includegraphics[width=\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_none.axis.trace_overlap.repair_none.pdf}
%		\caption{
%			Randomised clocks
%		}
%		\label{fig:simu:sine:periods:repair_none}
%	\end{subfigure}
%	\hfill
%	\begin{subfigure}[t]{0.45\textwidth}
%		\includegraphics[width=\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_phases.axis.trace_overlap.repair_phases.pdf}
%		\caption{
%			Clock syntonisation
%		}
%		\label{fig:simu:sine:periods:repair_phases}
%	\end{subfigure}
%	\\
%	\begin{subfigure}[t]{0.45\textwidth}
%		\includegraphics[width=\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.no_offset.axis.trace_overlap.no_offset.pdf}
%		\caption{
%			True clocks
%		}
%		\label{fig:simu:sine:periods:no_offset}
%	\end{subfigure}
%	\hfill
%	\begin{subfigure}[t]{0.45\textwidth}
%		\includegraphics[width=\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_full.axis.trace_overlap.repair_full.pdf}
%		\caption{
%			Fully resolved clocks
%		}
%		\label{fig:simu:sine:periods:repair_full}
%	\end{subfigure}
%	\caption{
%		Trace overlap for a position on the true shower axis for different stages of array synchronisation.
%		\Todo{x-axis relative to reference waveform, remove titles, no SNR}
%	}
%	\label{fig:simu:sine:periods}
%\end{figure}%>>>

\begin{figure}%<<< grid power time fixes
	%\vspace{-2cm}
	\centering
	\begin{subfigure}[t]{0.9\textwidth}
		\includegraphics[width=0.45\textwidth]{radio_interferometry/dc_grid_power_time_fixes.py.X400.repair_none.scale4d.pdf}
		\hfill
		\includegraphics[width=0.46\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_none.axis.X400.trace_overlap.zoomed.repair_none.pdf}
		\caption{
			Randomised clocks
		}
		\label{fig:grid_power:repair_none}
	\end{subfigure}
	%\hfill
	\\
	\begin{subfigure}[t]{0.9\textwidth}
		\includegraphics[width=0.45\textwidth]{radio_interferometry/dc_grid_power_time_fixes.py.X400.repair_phases.scale4d.pdf}
		\hfill
		\includegraphics[width=0.46\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_phases.axis.X400.trace_overlap.zoomed.repair_phases.pdf}
		\caption{
			Phase synchronisation
		}
		\label{fig:grid_power:repair_phases}
	\end{subfigure}
	\\
	\begin{subfigure}[t]{0.9\textwidth}
		\includegraphics[width=0.45\textwidth]{radio_interferometry/dc_grid_power_time_fixes.py.X400.repair_all.scale4d.pdf}
		\hfill
		\includegraphics[width=0.46\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.repair_full.axis.X400.trace_overlap.zoomed.repair_full.pdf}
		\caption{
			Fully resolved clocks
		}
		\label{fig:grid_power:repair_full}
	\end{subfigure}
	\\
	\begin{subfigure}[t]{0.9\textwidth}
		\includegraphics[width=0.45\textwidth]{radio_interferometry/dc_grid_power_time_fixes.py.X400.no_offset.scale4d.pdf}
		\hfill
		\includegraphics[width=0.46\textwidth]{radio_interferometry/trace_overlap/on-axis/dc_grid_power_time_fixes.py.no_offset.axis.X400.trace_overlap.zoomed.no_offset.pdf}
		\caption{
			True clocks
		}
		\label{fig:grid_power:no_offset}
	\end{subfigure}
	\caption{
		Different stages of array synchronisation (unsynchronised, beacon synchronised, $k$-resolved and true clocks)
		and
		their effect on (\textit{right}) the alignment of the waveforms at the true axis
			and (\textit{left}) the interferometric power near the simulation axis (red plus).
		The maximum power is indicated by the blue cross.
%		\protect\Todo{x-axis relative to reference waveform, remove titles, no SNR}
	}
	\label{fig:grid_power_time_fixes}
\end{figure}%>>>
% >>>
\end{document}
