# Adaptive Algorithm for Fast 3D Characterization of Magnetic Sensors
## 3 Results
### 2D Estimation, Threshold Analysis, and Adaptation Behavior  
With the 1D experiments investigated above, we heuristically tested and chose parameters for our proposed algorithm. In addition, a general proof of principle in the domain of interest was reached for the CEA control. Thus, we wanted to check the algorithm's behavior for the 2D case, as it allows for simplified visualization compared to a 3D experiment. We aimed to gather information on the adaptation behavior of different positions investigated in the stepwise algorithm procedure as well as the respective step size behavior and the control of the direction index based on the proposed threshold approaches. Furthermore, we analyzed the resulting sensor response estimates from our experiment. To gain knowledge about the temporal behavior and directional control, we visualize different internal quantities calculated by our algorithm--the smoothed short-term powers of the error signal \(\overline{e^{2}(n)}\) (dark blue) and measured sensor signal \(\overline{y^{2}(n)}\) (green), the estimated noise power \(\widehat{\sigma}_{b}^{2}\) (red dotted), and the two different versions of the system distance estimate, \(\overline{\Gamma}_{\mathrm{DT}}(n)\) (ochre) and \(\overline{\Gamma}_{\mathrm{CEA}}(n)\) (purple). For reference, we also plot the chosen threshold \(\zeta_{\mathrm{suff}}=-78\,\mathrm{dB}\) (grey dash-dotted) used for directional control. In a second axis, we also visualize the time-dependent step size behavior, once more on a logarithmic axis. This can be seen in Figure 9.  
Before the initial adaptation start at time \(0\,\mathrm{s}\), the noise estimation and settling periods are visible. The estimated noise power \(\widehat{\sigma}_{b}^{2}\) results from the average sensor power \(y(n)\) during the first of those. Afterwards, the field around the sensor is already driven at the first position but the adaptation is not yet started. With the start of the adaptation process, a similar behavior to the 1D estimation is visible. At a slightly fluctuating sensor input signal due to the noise excitation, the error and, correspondingly, the system distance estimates drop steeply with the start of adaptation. As before, the CEA estimate decreases below the DT estimate after a while, with the step size following this decreasing trend due to the corresponding step size control. The measurable error levels off more quickly but the system distance can be reduced by the proposed algorithm nonetheless. Most directional steps at the visualized start of the experiment show the directional change to the next position step being triggered by a sufficiently small system distance (according to (34)) with examples for the maximum time threshold (cf. (36)) being visible as well (e.g., the second  
Figure 8: A comparison of the development of the different control step sizes over the course of the 1D adaptation runs. The fixed step sizes are plotted for comparison. A more erratic behavior of the DT-controlled step size at overall larger values at later stages of the adaptation compared to the CEA-based step size can be observed. The y-axis is scaled logarithmically for a more visible separation of the two adaptive step sizes’ behaviors. position). At the start of each new direction, the jump of the step size to 1 for a short period \(N_{\rm fix}\) is clearly visible in the lower axis of Figure 9.  
A full run of our algorithm in the 2D case with the parameters shown in Table 3 took around 461.48 s or 7.69 min. At an angular resolution of \(1^{\circ}\), this results in an average of under 1.3 s per direction. The resulting matrix of estimated impulse response coefficients over the angles can be visualized similarly to a spectrogram by calculating the corresponding frequency responses (Figure 10). The magnitude was calculated from the impulse response estimates by taking the absolute values from a real-valued FFT algorithm (rfft implementation in SciPy [29; 30]) with an FFT size of 8192 (zero padding interpolation).