# Feasibility of Low Latency, Single-Sample Delay Resampling: A New Kriging Based Method
## 4 Results
### Required CPU Time for Reconstruction  
The required CPU time for calculation of the reconstructed signal was measured on a workstation with an Intel i7-4790 processor with four cores, 3.60 GHz clock speed, and 32 GB memory. The average time for reconstructing one output sample \(t_{CPU}\) in a time resolution of 0.1 s was calculated from the total time required to reconstruct 1000 output samples (Table 1).  
Kriging and Margolis both used pre-calculation to reduce CPU time. The inverse Kriging matrix (11) and a table for the denominator in (6) was calculated once per input sample and applied to ten output samples, as described in Section 3.5. The average CPU time per output sample was 380 \(\upmu\)s for Kriging (HW = 25) and 620 \(\upmu\)s (HW = 18) for Margolis including pre-calculation. The pre-calculation caused peaks of \(t_{PRE}\) = 3 ms for Kriging and \(t_{PRE}\) = 1 ms for Margolis.  
Due to the required matrix inversion, the pre-calculation for Kriging has the higher complexity of \(O(n^{3})\). Margolis requires the evaluation of \(n^{2}\) terms in Equation (6) with \(O(n^{2})\). Both algorithms have the same complexity of \(O(n^{2})\) for the additional operations per output sample, either for multiplying the inverted Kriging matrix with the vector on the right side of (11), or for evaluation of the numerator in (6). The latter one is more expensive due to the sine function, leading to a higher total \(t_{CPU}\) for Margolis.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Method**} & \multicolumn{2}{c}{**Pre-Calculation Time \(t_{PRE}\)**} & \multicolumn{2}{c}{**Total CPU Time \(t_{CPU}\)**} \\  & **per Input Sample** & & **Per Output Sample** \\ \cline{2-5}  & **Group Delay** & **Single Delay** & **Group Delay** & **Single Delay** \\ \hline Kriging & 3 ms & 0.5 ms & 380 \(\upmu\)s & 100 \(\upmu\)s \\ Margolis & 1 ms & 0.15 ms & 620 \(\upmu\)s & 85 \(\upmu\)s \\ Lagrange & & - & 470 \(\upmu\)s & 55 \(\upmu\)s \\ Akima & - & & 20 \(\upmu\)s \\ \hline \hline \end{tabular}
\end{table}
Table 1: Required CPU time for pre-calculation and total average (including pre-calculation).  
Figure 13: Effect of additional future samples (FS) for the single-delay scenario with missing samples. Kriging interpolation for noise-free signal (solid lines) and signal with \(-60\) dB RMSA noise (dotted lines). Default configuration for the single-delay scenario given by FS = 1.  
The single-delay scenario required less CPU time because the HW was lower and only HW past and one future sample were processed. The matrix order was reduced by a factor of almost two. Margolis provided slightly faster processing with \(t_{CPU}\) = 85 \(\mu\)s (HW = 10), compared with Kriging with \(t_{CPU}\) = 100 \(\mu\)s (HW = 20). The pre-calculation time reduced to \(t_{PRE}\) = 0.5 ms for Kriging and \(t_{PRE}\) = 0.15 ms for Margolis.  
In case of a regular sampling pattern, e.g., uniform sampling or periodic jitter, the pre-calculation must be carried out only once. Afterwards, it does not contribute to the average \(t_{CPU}\), which than drops to 50 \(\mu\)s for Kriging and 70 \(\mu\)s for Margolis.  
Akima took in both scenarios \(\pm\)3 input samples and required the same \(t_{CPU}\) = 20 \(\mu\)s for group and single delay.