# Effectiveness of Attitude Estimation Processing Approaches in Tolerating Radiation Soft Errors

Tarso Kraemer Sarzi Sartori, Luiz Henrique Laurini, Hassen Fourati, Rodrigo Possamai Bastos

Possamai Bastos

► To cite this version:

Tarso Kraemer Sarzi Sartori, Luiz Henrique Laurini, Hassen Fourati, Rodrigo Possamai Bastos. Effectiveness of Attitude Estimation Processing Approaches in Tolerating Radiation Soft Errors. IEEE Transactions on Nuclear Science, 2023, pp.1-8. 10.1109/TNS.2023.3284991. hal-04139654

HAL Id: hal-04139654

https://hal.science/hal-04139654

Submitted on 23 Jun 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Effectiveness of Attitude Estimation Processing Approaches in Tolerating Radiation Soft Errors

Tarso Kraemer Sarzi Sartori, Luiz Henrique Laurini, Hassen Fourati, Rodrigo Possamai Bastos

**Abstract**—This paper investigates and compares the neutron-induced soft-error tolerance effectiveness of five classical attitude estimation (AE) processing approaches that are typically embedded in inertial navigation systems of autonomous things. Results of 14-MeV and thermal neutron radiation testing campaigns indicate that all the AE approaches – implemented without protection mechanisms – can be critically perturbed by single event upsets (SEUs), recovering themselves after a few seconds if sensors' measurements are continuously provided. Moreover, Kalman filter-based AE approaches presented better effectiveness in tolerating SEUs than AE based on gradient descent.

**Index Terms**—Radiation-induced soft errors, attitude estimation algorithms, inertial navigation system.

<figure><img src="image_2.png" /><figcaption>Figure 1. Abstraction of an INS – embedded in an object (e.g. satellite) – and its component under test (in this work, the on-board processing system, considering exclusively the AE algorithm).</figcaption></figure>

## I. INTRODUCTION

Attitude estimation (AE) algorithms are used to estimate the attitude (spatial orientation) of an object with respect to a reference. The attitude estimation involves a two part process: (1) the estimation of the object's orientation from on-board sensors' measurements, and (2) filtering of noisy measurements [1]. Estimating the attitude from on-board measurements has a long history, and plenty of optimal algorithms have been developed over the last decades [2]. These AE algorithms are typically embedded in inertial navigation systems (INSs), providing real-time attitude to control object's movements and maneuvers. INSs have become more and more essential in the new era of autonomous things, being integrated in objects such as low-cost drones [3] and nanosatellites [4], cf. Figure 1 in which an application of INS is exemplified. The INS's inertial measurement unit (IMU) enables the tracking of rotational and translational movements through MEMS (microelectro-mechanical systems) gyroscopes and accelerometers. For many applications requiring 3D attitude determination, it is necessary to include the measurements of a third sensor. MARG (magnetic, angular rate, and gravity) sensors is a hybrid IMU which incorporates a 3-axis magnetometer [5], measuring the Earth's magnetic field, to accomplish this task. Moreover, the INSs contain analog-to-digital interface circuits, an on-board processing system, composed by a processor, program and data memories, and a programmable logic.

In space environments [6], aviation altitudes [7], and also at ground levels, all the INS components are exposed to

radiation-induced effects [8]. Radiation-induced transient effects in INS components can create transient faults able to invert memory bits of their circuits – i.e. single event upsets (SEUs) – or even halt their operation, requiring a system hardware reboot – i.e. single event functional interrupts (SEFIs). SEFIs and SEUs are classically considered as soft single event effects (SEEs) or simply soft errors [9].

Soft errors during the processing of AE algorithms in INSs can interfere with their responses, failing in properly estimating the object's attitude. To the best of our knowledge, only a few articles briefly discuss radiation effects in INS components. Among the related works, Bazzano et al. have evaluated the reliability of a commercial off-the-shelf (COTS) INS under proton radiation [10], and Stansberry has characterized a 3-axis MEMS accelerometer for SEU sensitivity under protons and heavy ions [11]. Zhi-yong et al. investigated throughout laboratory experiments the effects of harsh electromagnetic environment [12] on IMUs, performing statistical analyzes with the measured data for determining the degree of influence of these effects on the IMU upsets. Jiang et al. proposes a secure attitude estimator for autonomous vehicles, validating the method through single and multiple measurement attacks simulations [13]. Wang et al. investigates technical challenges and solutions for inertially stabilized platforms for strategic navigation systems under hostile environments [14]. In addition, our previous work [15] has investigated neutron effects in a classical AE algorithm – the novel quaternion Kalman filter (NQKF) – underlining the SEFI contribution on the total number of radiation-induced critical failures.

Unlike aforementioned prior works, this article compares the effectiveness of AE processing approaches under neutron radiation by taking into account four classical AE algorithms: (1) NQKF; (2) Quaternion-based extended Kalman filter (EKF); (3) Quaternion-based indirect Kalman filter (IKF); and (4) Quaternion-based gradient descent (Gradient). Different

Tarso Kraemer Sarzi Sartori, Rodrigo Possamai Bastos, and Luiz Henrique Laurini are with Univ. Grenoble Alpes, CNRS, Grenoble INP*, TIMA, 38000 Grenoble, France. (e-mail: firstname.lastname@univ-grenoble-alpes.fr).

Hassen Fourati and also Tarso Kraemer Sarzi Sartori are with Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP*, GIPSA-Lab, 38000, France.

<footnote>*Institute of Engineering Univ. Grenoble Alpes</footnote>
computing strategies, considering distinct dataset sizes and 14-MeV and thermal neutron fluxes, were evaluated.

## II. CASE-STUDY ATTITUDE ESTIMATION (AE) MODELS

An AE algorithm is used to estimate the attitude or orientation of an object with respect to a known reference, based on the on-board sensors' measurements. Equation 1 shows a simplified model for the sensors.

$$ \left\{ \begin{aligned} \omega &= \omega_0 + b_{\omega} + v_{\omega} \\ a &= C_N^B[q] \cdot g + v_a \\ m &= C_N^B[q] \cdot h + v_m \end{aligned} \right. \qquad (1) $$

These three equations describe respectively the gyroscope, accelerometer, and magnetometer measurements. In fact, if the initial orientation is given, only the gyroscope information should be enough to estimate the attitude. However, due to the gyroscope bias, $b_\omega$ added to the real angular velocity $\omega_0$, and integration errors [16], the estimation error increases over time. To compensate these errors, the other sensors are used.

The attitude of an object can be represented through different forms. Euler angles $\phi, \theta, \psi$ are the most simple representation, having an intuitive physical interpretation commonly referred to as roll, pitch, and yaw, respectively [17] (cf. Figure 1). Nevertheless, the Euler angles are susceptible to singularity problems [18], demanding more computational efforts if dynamically used on the AE. Another well-known AE representation, not susceptible to singularity problems, is the attitude quaternion $q$ that is a normalized hypercomplex vector with 4 components [2]:

$$ q = [e \ q_4]^T = [q_1 \ q_2 \ q_3 \ q_4]^T $$

where $e$ and $q_4$ represent respectively the complex and real parts of the quaternion. The rotation matrix $C_N^B[q]$ in equation 1 is a nonlinear function of the attitude quaternion:

$$ C_N^B[q] = (q_4^2 - e^T e)I_3 + 2ee^T - 2qS[e] $$

where, $I_3$ and $S[e]$ are respectively an identity matrix (3 × 3) and a skew-symmetric matrix, function of the quaternion complex part. The rotation matrix is capable of transforming a vector defined in the navigation frame (N) (such as the gravity $g$ and the Earth's magnetic field $h$) to the body frame (B). Other important parameters to take into account are the sensors' measurement noises, represented by $v_\omega, v_a$, and $v_m$ in equation 1, inherent to each sensor. In order to filter such noises and combine the sensors data to estimate the attitude, many different approaches have been proposed. One well-known approach is the Kalman filter (KF), which provides a recursive solution and less computational efforts for the method of least squares [19] for linear systems. The KF algorithm assumes the sensor's noises follow a Gaussian normal distribution with zero mean and a determined standard deviation, depending on the sensors. The KF is then designed to provide sequential quaternion estimates that are minimum-variance [2], following the schema shown in Figure 2. In Figure 2, the filter is firstly initialized with a guess of the state of the system $x_{0/0}$, that in the case of this work is just

<figure><img src="image_3.png" /><figcaption>Figure 2. Kalman filter algorithm schema for AE.</figcaption></figure>

the quaternion $q$, and an error covariance matrix $P_{0/0}$, which is an estimate of the error in the filter estimation. Further, the filter makes a prediction ($x_{k/k-1}, P_{k/k-1}$) in the iteration $k$ using the physical model of the system, which in the case of AE can be based on the angular velocity provided by the gyroscopes. Finally, the predictions are updated using another set of sensors' measurements, such as acceleration (accelerometer) and magnetic field (magnetometer), generating the estimates $x_{k/k}$ and $P_{k/k}$ that will feed the algorithm in the next iteration.

The four AE algorithms assessed in this work are:

* **EKF**: the EKF is one of the most applied algorithms for real-time spacecraft AE [1] as they are already well-established [20]. Since the KF is designed for linear systems, it is necessary to linearize the measurement equations (accelerometer and magnetometer in equation 1) to properly use it for the attitude quaternion estimation.

* **NQKF**: the linearization necessary for the EKF algorithm can provoke undesirable effects, such as sensitivity to initial conditions and an increase in the computational load. For dealing with them, Choukroun, et al. in [2] developed a novel algorithm, presenting a pseudo-measurement linear equation to be used with the KF, eliminating the linearization procedure and being less sensitive to initial AE errors.

* **IKF**: Suh Soo in [16] proposed an adaptive KF approach to compensate external accelerations (other than gravity). Instead of estimating the quaternions, they estimate the attitude quaternion error, function of the gyroscope bias and noise, and then convert into quaternions.

* **Gradient**: Madgwick in [21] proposed a novel AE algorithm using the gradient descent, an iterative optimization algorithm, to minimize a cost function in terms of the attitude quaternion. The proposed approach is recursive as well as the traditional KF, but is less computationally costly, achieving similar degrees of precision.

The KF based algorithms as well as the Gradient algorithm possess some parameters that need to be adjusted according to the respective sensors' noises. For the KF, it is necessary to set three covariance matrices, one for each sensor being used (gyroscope, accelerometer, and magnetometer), based on the standard deviation of the sensors' measurement noise. For the Gradient algorithm, a parameter called $\beta$ (cf. [5]), representing the magnitude of the gyroscope measurement error, needs also to be tuned prior operation.
### III. INPUT DATA SETS TO TEST THE AE APPROACHES

Two different input data sets were generated to test each case-study AE algorithm (cf. section II) processing under radiation. Input vectors with three components (3 × 1) constitute the input data sets that represent indeed the sensors' measurements.

The first input data set contains 1000 input vectors composed of: (1) the angular velocities, calculated based on the model implemented in [2]; (2) the acceleration, modeled as constant vectors attached to gravity (1 g); and (3) the magnetic field, generated for the latitude and longitude of Grenoble (France). The acceleration- and magnetic field-related input vectors were defined regarding the ground fixed frame N. The $C_{N}^{B}[q]$ matrix were used to transfer them to the object's body fixed frame B emulated in this work (cf. section II). The sensors' measurement sampling times were specified considering 0.01 s, therefore the emulated total time of the input data set of 1000 input vectors per sensor was 10 s. Additionally, the sensors' noise were defined as a white Gaussian noise with a standard deviation of 0.03 and mean 0. The second input data set is composed of 333 input vectors with the same basic characteristics described for the input data set of 1000 input vectors, excepting the model used for calculating the three components of the input vectors [16].

The case-study AE algorithm initially executes the input data set's first input vector, generating a corresponding output vector (i.e. an case-study AE algorithm's quaternion), and so on for the next input vectors. Thereby, as the input data sets contain 1000 and 333 input vectors, output data sets of 1000 and 333 output vectors are generated respectively. The case-study AE processing approaches were named according to the AE algorithm's acronyms, i.e EKF, IKF, Gradient, and NQKF that executed input data sets of 333 input vectors, and 1000_NQKF that executed input data set of 1000 input vectors.

### IV. ASSESSMENT OF AE APPROACHES UNDER NEUTRONS

#### A. Neutron Radiation Test Set-Ups

In order to assess the effectiveness of the case-study AE processing approaches in tolerating soft errors, the processing system abstracted in Figure 1 was implemented in a Raspberry Pi 4 Model B board, herein referred as the system under test (SUT), which has a synchronous dynamic random-access memory (SDRAM) and an 1.5 GHz 64-bit quad-core Arm Cortex-A72 processor. The operating system (OS) installed on the SUT was the 32-bit Raspberry Pi OS Lite. The AE algorithms were implemented in C/C++ language and stored along with the input data sets in an SD card.

The SUT that ran the case-study AE algorithms was exposed to neutrons in four different radiation testing campaigns. The first and second campaigns were performed in July and August 2021 at the Institute Laue-Langevin (ILL) in Grenoble (France) by using the thermal and epi-thermal neutron irradiation station (TENIS) that generates a neutron beam in a wide spectrum of energy, ranging from 10 meV to 10 MeV but with a large component in the thermal region (approximately 99 %, corresponding to the range from 20 meV to 1 eV). Figure 3 shows the SUT (2 GB of SDRAM) inside the radiation

chamber at the ILL's TENIS facility. The flux estimation at the ILL in July 2021 was $1.9 \cdot 10^9$ neutrons / cm$^2$ / s at the beam center, having the nuclear reactor operating in 43 MW. For the second campaign in August 2021, the flux estimation was $2.4 \cdot 10^9$ neutrons / cm$^2$ / s (nuclear reactor power in 55 MW). In July campaign, the SUT was placed in a position where the estimated flux was around $1.0 \cdot 10^7$ neutrons / cm$^2$ / s, while in August campaign the SUT was moved outside the window characterized with a minimum flux of $1.2 \cdot 10^7$ neutrons / cm$^2$ / s due to the high number of SEFIs initially observed. Hence, the SUT in August campaign was exposed to a residual thermal neutron flux.

The third and fourth campaigns were performed in February and July 2022 through the 14-MeV neutron generator GENEPI2 at the LPSC's GENESIS facility in Grenoble (France) [22]. Figure 4 shows the SUT (4 GB of SDRAM) inside the neutron generator chamber

Figure 5 depicts the test set-up used in the neutron radiation campaigns. Another Raspberry Pi, herein the control computer (CC) outside the neutron chamber, was applied to send commands, receive data, and monitor the experiment. The communication between the CC and SUT was made by secure shell (SSH) protocol via an Ethernet cable. For the ILL campaigns, the algorithms and data sets were stored in a SD card connected to the SUT via an USB-SD adapter placed outside the radiation chamber, while for the LPSC campaigns they were stored in the SD card of the CC, which was in charge of programming the SUT over Ethernet by using the pre-execution environment (PXE) protocol. Hence, both SD cards were not exposed to radiation effects. In all campaigns, the input data set was loaded once – from the SD card to a first-in-first-out (FIFO) buffer on the data memory (SDRAM) – before the beginning of the case-study AE algorithm's execution. Then, in the ILL campaigns, for each input vector, the case-study AE algorithm produced an output vector that was immediately written into the program memory. Otherwise,

<figure><img src="image_4.png" /><figcaption>Figure 3. SUT (Raspberry Pi board) under the neutron beam at the ILL.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Figure 4. SUT (Raspberry Pi board) under the neutron generator at the LPSC.</figcaption></figure>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<figure><img src="image_6.png" /><figcaption>Figure 5. Test set-up used in the neutron radiation testing campaigns.</figcaption></figure>

in the LPSC campaigns, right after each output vector was calculated, it was stored in another FIFO buffer on the data memory. Only after the entire execution of the input data set, the output data set stored in the FIFO buffer was thus sent to the CC's SD card. Classical checkers (checksum and watchdog) monitoring communication, program memory, and OS resources were implemented and configured to make the process of restarting the SUT in case of communication loss more autonomous as well as to identify SEUs in the FIFO buffers storing the input and output vectors and during the processing of the case-study AE algorithm.

## B. Hypotheses of Radiation-induced Failures in the AE

Simulations were performed beforehand to generate the case-study AE algorithm's output vectors, i.e. the AE quaternions that are indeed the **golden reference data/results** as they were calculated by the AE algorithm via simulation without any radiation effect. Otherwise, the **radiation testing data/results** are the AE quaternions calculated in the SUT by the AE algorithm facing the neutron flux effects. Every AE algorithm's execution is defined herein as a **run**, i.e. the complete execution of either 1000 input vectors for the first case-study input-data set or 333 for the second one.

For the sake of making the results of the radiation testing campaigns more intuitive, the radiation testing data were converted into Euler angles afterward, adopting as rotation sequence $\psi, \theta, \phi$ (i.e. Yaw-Pitch-Roll). The Euler angles' mean absolute error (MAE) between the radiation testing data and the golden reference data were also calculated after the campaigns through the following equation:

$$MAE = \frac{1}{n} \sum_{i=1}^{n} |y_{irad} - y_i| \quad (2)$$

in which $n$ is the number of input vectors for a specific run, $y_i$ is the respective golden reference data, and $y_{irad}$ is the Euler angle calculated considering the radiation testing data. We adopted 1 degree as the Euler angle's MAE threshold in order to classify different hypotheses of radiation-induced failures in the AE processing system:

* **No failure:** the result of the AE algorithm does not differ from the golden reference and the run is complete, e.g.

the AE algorithm correctly computes the entire input data set;

* **Tolerable failure:** the run is complete but a SEU-induced mismatch between the radiation testing data/results and the golden reference is observed and the Euler angles' MAEs are lesser than the threshold stipulated;

* **Critical failure:**

- **Mismatch and complete run:** a SEU causes a mismatch between radiation testing data/results and the golden reference, being the Euler angles' MAEs greater than the threshold stipulated, however the input data set is fully processed;

- **Incomplete run:** a SEFI stops the AE algorithm during the input data set processing, however a mismatch between the radiation testing data/results and the golden reference is not observed before the interruption;

- **Mismatch and incomplete run:** a SEFI stops the AE algorithm during the input data set processing and a mismatch between the radiation testing data/results and the golden reference is observed before the interruption.

* **Processing failure:** it is either a tolerable failure or a critical failure resulting in a mismatch and complete run, however the SEU occurs in the operations that make the processing of the AE algorithm. Hence, tolerable and critical failures that are induced by SEUs in the FIFO buffers (used to store the input and output vectors) are not considered processing failures.

## C. Computing Strategies Applied to Assess AE Approaches

Three different computing strategies for the case-study AE algorithms were assessed during the radiation testing campaigns. Figure 6 abstracts these computing strategies that were defined considering the four cores of the SUT:

* **Strategy 1:** run three independent and redundant processes of the case-study AE algorithm in three different cores at the same time, i.e. the same case-study AE algorithm was separately executed at the same time by core 1, 2, and 3, providing thus three output data sets that are equal if no failure was induced by the radiation;

* **Strategy 2:** run a single process of the case-study AE algorithm in a core $x$ determined by the OS, besides running other four processes of four similar algorithms at the same time in order to increase the amount of computational work that the case-study AE algorithm's processing system (SUT) performs (i.e. increase the computing system's load average). For example, the case-study AE algorithm was executed in core 1 for a while, after in core 3 or another in function of the OS's process management;

* **Strategy 3:** likewise strategy 2, run a single process of the case-study AE algorithm in a core $y$ determined by the OS, however no other processes of similar algorithms are running at the same time.
<table><caption>Table I
RADIATION TESTING RESULTS FOR THE THREE CAMPAIGNS CARRIED OUT AT THE ILL (THERMAL NEUTRONS) AND LPSC (14-MEV NEUTRONS).</caption><thead><tr><th rowspan="2">Campaign</th><th rowspan="2">Processing Approach (based on the AE algorithms)</th><th colspan="4">Irradiation Time</th><th colspan="3">Critical Failures</th><th rowspan="2">Tolerable Failures</th><th rowspan="2">Number of runs</th><th rowspan="2">Runs per hour</th><th colspan="2">Average Flux</th><th colspan="2">Cross Section</th><th rowspan="2">FIT</th><th rowspan="2">Beam Energy</th></tr><tr><th>[ h ]</th><th>Number of mismatches and incomplete runs</th><th>Number of incomplete runs</th><th>Number of mismatches and complete runs</th><th>[ 10<sup>5</sup> neutrons/ cm<sup>2</sup>/s ]</th><th>[ 10<sup>10</sup> neutrons/ cm<sup>2</sup> ]</th><th>[ 10<sup>-10</sup> cm<sup>2</sup> ]</th><th>[ Failures/ 10<sup>9</sup>h ]</th><th>[ eV ]</th></tr></thead><tbody><tr><td rowspan="6">July 2021 (ILL)</td><td>EKF</td><td>58.85</td><td>0</td><td>814</td><td>0</td><td>1</td><td>2696</td><td>45.8</td><td></td><td></td><td></td><td>211.86</td><td>3.84</td><td>35.27</td><td></td><td></td></tr><tr><td>1000_NQKF</td><td>7.58</td><td>0</td><td>105</td><td>0</td><td>0</td><td>175</td><td>23.1</td><td></td><td></td><td></td><td>27.29</td><td>3.85</td><td>35.32</td><td></td><td></td></tr><tr><td>NQKF</td><td>57.97</td><td>1</td><td>1332</td><td>0</td><td>0</td><td>2414</td><td>41.6</td><td></td><td></td><td></td><td>208.69</td><td>6.39</td><td>58.64</td><td></td><td></td></tr><tr><td>IKF</td><td>56.9</td><td>0</td><td>839</td><td>0</td><td>0</td><td>1989</td><td>35.0</td><td></td><td></td><td></td><td>204.84</td><td>4.10</td><td>37.60</td><td></td><td></td></tr><tr><td>Gradient</td><td>57.76</td><td>2</td><td>1002</td><td>1</td><td>0</td><td>3719</td><td>64.4</td><td></td><td></td><td></td><td>207.94</td><td>4.83</td><td>44.37</td><td></td><td></td></tr><tr><td>EKF</td><td>38.86</td><td>0</td><td>998</td><td>0</td><td>0</td><td>1690</td><td>43.5</td><td></td><td></td><td></td><td>167.88</td><td>5.94</td><td>54.57</td><td></td><td></td></tr><tr><td rowspan="6">August 2021 (ILL)</td><td>1000_NQKF</td><td>41.18</td><td>0</td><td>1021</td><td>0</td><td>0</td><td>1081</td><td>26.3</td><td></td><td></td><td></td><td>177.90</td><td>5.74</td><td>52.69</td><td></td><td></td></tr><tr><td>NQKF</td><td>38.61</td><td>0</td><td>989</td><td>0</td><td>0</td><td>1561</td><td>40.4</td><td></td><td></td><td></td><td>166.80</td><td>5.93</td><td>54.43</td><td></td><td></td></tr><tr><td>IKF</td><td>39.03</td><td>4</td><td>974</td><td>0</td><td>0</td><td>1386</td><td>35.5</td><td></td><td></td><td></td><td>168.61</td><td>5.80</td><td>53.25</td><td></td><td></td></tr><tr><td>Gradient</td><td>37.76</td><td>1</td><td>1017</td><td>0</td><td>0</td><td>2023</td><td>53.6</td><td></td><td></td><td></td><td>163.12</td><td>6.24</td><td>57.29</td><td></td><td></td></tr><tr><td>EKF</td><td>15.17</td><td>0</td><td>4</td><td>1</td><td>2</td><td>554</td><td>36.5</td><td></td><td></td><td></td><td>2.26</td><td>2.21</td><td>20.28</td><td></td><td></td></tr><tr><td>1000_NQKF</td><td>13.9</td><td>0</td><td>6</td><td>1</td><td>0</td><td>1430</td><td>102.9</td><td></td><td></td><td></td><td>2.07</td><td>3.37</td><td>30.98</td><td></td><td></td></tr><tr><td rowspan="6">February 2022 (LPSC)</td><td>NQKF</td><td>13.09</td><td>0</td><td>6</td><td>0</td><td>0</td><td>3453</td><td>263.8</td><td></td><td></td><td></td><td>1.95</td><td>3.07</td><td>28.20</td><td></td><td></td></tr><tr><td>IKF</td><td>13.92</td><td>0</td><td>10</td><td>0</td><td>3</td><td>1189</td><td>85.4</td><td></td><td></td><td></td><td>2.08</td><td>4.81</td><td>44.20</td><td></td><td></td></tr><tr><td>Gradient</td><td>12.76</td><td>0</td><td>4</td><td>0</td><td>0</td><td>2931</td><td>229.7</td><td></td><td></td><td></td><td>1.90</td><td>2.10</td><td>19.29</td><td></td><td></td></tr><tr><td>EKF</td><td>37.26</td><td>0</td><td>11</td><td>1</td><td>1</td><td>1593</td><td>42.8</td><td></td><td></td><td></td><td>5.73</td><td>2.10</td><td>19.23</td><td></td><td></td></tr><tr><td>1000_NQKF</td><td>39.6</td><td>0</td><td>25</td><td>3</td><td>4</td><td>5336</td><td>134.7</td><td></td><td></td><td></td><td>6.09</td><td>4.60</td><td>42.23</td><td></td><td></td></tr><tr><td>39.59</td><td>0</td><td>24</td><td>4</td><td>0</td><td>3</td><td>14382</td><td>363.3</td><td></td><td></td><td></td><td>6.09</td><td>4.60</td><td>42.24</td><td></td><td></td></tr><tr><td rowspan="6">July 2022 (LPSC)</td><td>NQKF</td><td>39.61</td><td>0</td><td>10</td><td>1</td><td>3</td><td>4400</td><td>111.1</td><td></td><td></td><td></td><td>6.09</td><td>1.81</td><td>16.58</td><td></td><td></td></tr><tr><td>IKF</td><td>38.39</td><td>0</td><td>15</td><td>3</td><td>0</td><td>12260</td><td>319.4</td><td></td><td></td><td></td><td>5.90</td><td>3.05</td><td>28.00</td><td></td><td></td></tr></tbody></table>

<figure><img src="image_7.png" /><figcaption>Figure 6. Different computing strategies implemented for testing the AE approaches under neutron radiation effects.</figcaption></figure>

## D. Cross Sections and Failure in Time of AE Approaches

Table I summarizes the results for the four radiation campaigns performed. The cross section for each AE approach was obtained dividing the number of critical failures by the fluence (irradiation time × average flux). The failure in time (FIT) was calculated by multiplying the cross section by the 14-MeV neutron flux at commercial airplane altitude of 40,000 ft (around 91.8 neutrons / cm² / h [23]). Note that for the FIT results of thermal neutron radiation campaigns at the ILL, we also used the aforementioned neutron flux as inside an airliner the thermal neutron flux can be around one to two times greater than high-energy neutron flux (greater than 10 MeV) [24].

Table I also highlights that only a few number of runs presented processing failures, mostly noticed in the LPSC campaigns as much higher fluxes were applied in the ILL campaigns, generating more SEFIs that prevent the AE processing approaches to fully compute the input data set. Other factors can also explain the low number of processing failures such as the error detection and correction codes integrated on the Arm Cortex-A72 of the SUT and its cache memories. Actually, whenever an error is detected and cannot be corrected, the cache line is evicted, the error is reported in a register and, in the case of the L1 data cache, causes a "data abort" [25]. Moreover, the Arm Cortex-A72 also has error correction codes for the data coming from the SDRAM, further mitigating the number of failures that could be observed as it would correct at least a single bit of word that was affected by the radiation.

<figure><img src="image_8.png" /><figcaption>Figure 7. Summary of the processing failures observed in the four radiation campaigns for the case-study AE processing approaches tested.</figcaption></figure>

## E. Processing Failures in AE Approaches

Figure 7 shows a summary of the processing failures observed in all the four campaigns for each AE approach. The July-2022 campaign presented the highest numbers of processing failures due to the longer irradiation time compared to the February-2022 campaign (cf. Table I), thereby they are predominant in Figure 7.

Figure 7 also shows the proportion of tolerable processing failures and critical processing failures for each case-study AE processing approach. Note that the processing failures observed in the Gradient approach were all critical processing failures, unlike the other AE approaches that report also tolerable processing failures. The IKF approach presented the highest proportion of tolerable processing failures, which indicate that the operations in the processing of the IKF algorithm were disturbed by SEUs, however the disturbance was either not enough to make the IKF algorithm to diverge or the SEU effect was rapidly mitigated, i.e. the IKF algorithm could quickly recover itself, having Euler angles' MAEs below the threshold of 1 degree specified (cf. subsection IV-B).
## F. Critical Processing Failures in AE Approaches

Figures 8, 9, and 10 show valuable experimental findings regarding runs that presented critical processing failures, i.e. significant differences between the radiation-testing data/results and the golden reference. Figure 8 shows the response of the 1000_NQKF approach in the February-2022 campaign. In orange the golden reference data in form of Euler angles (response outside the radiation) is represented, and in blue the radiation testing data of the significant failure scenario (response under radiation). Beside the approach response graphs, the absolute error between the golden and under radiation reference data and the MAE are represented in green and red respectively. The most probable hypothesis is a SEU effect during the computation of the 408th input vector of the input data set, considerably persisting during about 300 input vectors. The MAE for the roll ($\phi$), pitch ($\theta$), and yaw ($\psi$) angles are 95, 9.4, and 15.6 degrees respectively, and the absolute errors reached about 300, 95, and 225 degrees for the respective three angles, considering the peaks. It is important to note that an error of 300 degrees is equivalent to an error of -60 degrees, considering the range of 360 degrees of the trigonometric circle. However, the metric used in this work is the Euler angle's MAE (cf. subsection IV-B) that purely considers the absolute difference between the golden Euler angles and the AE approach responses under radiation. The input data set used in the 1000_NQKF approach considers sensors with a sampling time of 0.01 seconds, i.e. the sensors provide 100 input vectors per second. Therefore, considering a shorter computation time than the sensors' sampling time, the SEU effect would have remained for about 3 seconds as it persisted for around 300 input vectors. Even though the AE errors in the 1000_NQKF approach response were high, the 1000_NQKF algorithm could rapidly follow the right response using the next input vectors.

Figure 9 shows a critical processing failure obtained in the July-2022 campaign for the IKF approach. Probably a SEU occurred during the computation of the 108th input vector reflecting a high peak in Euler angle $\psi$, and remaining until the 135th input vector. The Euler angles' MAEs were 0.2, 0.075, and 7.4 degrees for $\phi$, $\theta$, and $\psi$ respectively. As this input data set assumes a sampling time of 0.1 seconds for the sensors, making the same assumptions as in the previous analysis, the SEU effect would have remained about 2.7 seconds, presenting a high absolute error peak of around 270 degrees in $\psi$.

Finally, Figure 10 presents a critical processing failure observed on the Gradient approach in the July-2022 campaign. Probably a SEU disturbed the processing of 168th input vector, and the Gradient algorithm could not recover itself until the end of the input data set, showing a delayed behavior in relation to the golden reference data. On the other hand, the response presents a tendency of recovery as the absolute error tends slowly to zero. The Euler angles' MAEs in this case were 37.5, 19, and 22.4 degrees for $\phi$, $\theta$, and $\psi$ respectively.

In general, regarding all KF-based AE processing approaches tested, when the input data set is completely computed and a processing failure occurred, the KF-based AE algorithm rapidly recover themselves to their ideal responses.

<figure><img src="image_9.png" /><figcaption>Figure 8. Radiation testing results of Euler angles being significantly perturbed by a critical processing failure (SEU-induced mismatch and complete run) during the 1000_NQKF approach processing in February-2022 campaign.</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Figure 9. Radiation testing results of Euler angles being significantly perturbed by a critical processing failure (SEU-induced mismatch and complete run) during the IKF approach processing in July-2022 campaign.</figcaption></figure>

This is probably due to the recursive and adaptive nature of KF algorithms. Besides the estimation of the attitude based on the previous responses, the KF algorithm also relies on information from multiple sensors. Assuming the measurements are continuously available, the KF adapts its internal gains based on the confidence level on past estimates and current measurements, improving the AE response over time. Otherwise, the processing failures obtained in the Gradient approach were all critical and some of them, such as the run in figure 10, could not completely recover itself until the end of the input data set. However, we underline both the KF-based and Gradient AE processing approaches need some tuned parameters according to the characteristics of the sensors (cf. section II). When a SEU disturbs the AE approach processing, if the sensors' measurements are reliable and continuously available, the calibration of these AE approaches' parameters is fundamental for improving the algorithms' convergence.

## G. Assessment of AE approaches in Computing Strategies

In order to compare the AE processing approaches running in different computing strategies, we considered the classical metrics of central processing unit (CPU) usage, load average, and computation time. Furthermore, we focused on radiation-testing data/results obtained in the LPSC campaigns for Strategies 1 and 2 as they presented most processing failures and they were exposed to similar average neutron fluxes (cf. Table
<figure><img src="image_11.png" /><figcaption>Figure 10. Radiation testing results of Euler angles being significantly perturbed by a critical processing failure (SEU-induced mismatch and complete run) during the Gradient approach processing in July-2022 campaign.</figcaption></figure>

I). Table II summarizes the results considering the different computing strategies tested in the LPSC campaigns.

The CPU usage is defined as the ratio between the time spent by the processor on one or more processes and the time interval measured. The value ranges from 0%, when the CPU time is not used by the processes and $N \times 100\%$ when the CPU is fully utilized, with *N* being the number of processing cores (SUT's CPU has four cores). Observe in Table II that the average CPU usages were similar among the processes related to the case-study AE algorithms within the same strategy and different regarding the other strategy. For example, the Gradient approach in Strategy 1 had an average CPU usage of 10.05 %, similar to the EKF in the same strategy but very different from the same approach in Strategy 2 (41.16%). The normalized load average in Table II was obtained averaging all system processes running or waiting for the processor availability during 15 minutes of measurements, and normalized by the SUT's number of cores. Strategy 1 executes three times more processes in parallel when comparing with Strategy 2, consequently the average CPU usage for each process was reduced, whereas the system load average was increased. Although the number of processes in parallel in Strategy 1 was higher, the number of runs was lower due to the overload in comparison with Strategy 2. Hence, higher numbers of failures induced by SEUs in the FIFO buffer (used for storing output vectors) and of processing failures were observed (cf. column "Total" in Table II).

Figure 11 shows the average computation time of each input vector and the rates of processing failures and critical processing failures for each one of the AE processing approaches in Strategies 1 and 2 in the July-2022 campaign. The rate of critical processing failures and the rate of processing failures were obtained respectively dividing the number of critical processing failures and the number of processing failures (critical + tolerable) by the irradiation time of each AE approach for Strategies 1 and 2 tested in July 2022. The computation time was calculated dividing the exposition time of the AE approach divided by the number of input vectors processed (number of runs × 333) in each strategy for the same campaign. The EKF approach presented the highest computation time in both computing strategies, whereas the NQKF the lowest one. The highest rates of critical processing failures were

<figure><img src="image_12.png" /><figcaption>Figure 11. Rate of processing failures, rate of critical processing failures, and the average computation time of each input vector for each of the AE approach in Strategies 1 and 2 for the July-2022 campaign.</figcaption></figure>

observed in the NQKF and Gradient approaches in Strategy 2. Actually, according to Figure 7, in all campaigns when a SEU disturbed the processing of the Gradient approach, it provoked a critical processing failure. The KF-based approaches EKF and IKF showed better results for both Strategy 1 and 2 and for the rates of critical processing failures and processing failures. More specifically, the IKF presented a better results regarding computation time and rates of processing failures compared with the other AE approaches. In Strategy 1, the IKF provided the highest rate of processing failures. Nevertheless, all processing failures were tolerable and the rate of critical processing failures was zero. In Strategy 2, the IKF has one of the lowest rates of processing failures. These observations agree with the data in Figure 7, showing that the IKF approach has the highest percentage of tolerable processing failures in relation to the other AE approaches.

V. CONCLUSIONS

This work implemented, tested, and compared five AE processing approaches through four different radiation campaigns (thermal and 14-MeV neutrons). Three different computing processing strategies were also used for assessing the effectiveness of the AE approaches in tolerating SEU effects, essentially varying the SUT's CPU usage and load average. Strategy 2 (cf. subsection IV-C) proved to be more suitable for testing the AE approaches, producing a higher number of runs and failures within a shorter irradiation time. The different levels of fault tolerance observed among the different strategies are explained for instance by the time the AE algorithm takes to execute an input data set, the number of voluntary and involuntary context switches (able to cause more cache invalidation), the time spent executing kernel threads. Compared with the AE approach based on gradient descent, KF-based AE approaches showed better results regarding tolerable and critical processing failures, being able in all cases to recover themselves after a few seconds. This is probably caused by the KF's adaptive nature, which relies on
<table><caption>Table II
SUMMARY OF PROCESSING FAILURES OBSERVED IN FEBRUARY-2022 AND JULY-2022 CAMPAIGNS AND SUT'S CPU METRICS FOR STRATEGIES 1 & 2.</caption><thead><tr><th rowspan="3">Strategy</th><th rowspan="3">AE Processing Approach</th><th rowspan="3">Irradiation time [h]</th><th rowspan="3">Number of Runs</th><th colspan="4">Failures</th><th rowspan="3">Average CPU load [%/process]</th><th rowspan="3">Standard deviation of the CPU load [%/process]</th><th rowspan="3">Normalized load average</th><th rowspan="3">Normalized overload [%]</th></tr><tr><th colspan="2">Processing failures</th><th rowspan="2">In output fifos</th><th rowspan="2">Total</th></tr><tr><th>Critical processing failures</th><th>Tolerable processing failures</th></tr></thead><tbody><tr><td rowspan="6">Strategy 1</td><td>1000_NQKF</td><td>26.99</td><td>1985</td><td>0</td><td>4</td><td>0</td><td>4</td><td>9.96</td><td>3.92</td><td rowspan="6">6.15</td><td rowspan="6">515</td></tr><tr><td>EKF</td><td>24.19</td><td>541</td><td>1</td><td>1</td><td>1</td><td>3</td><td>10.13</td><td>4.73</td></tr><tr><td>Gradient</td><td>25.91</td><td>4493</td><td>0</td><td>0</td><td>2</td><td>2</td><td>10.05</td><td>4.41</td></tr><tr><td>IKF</td><td>26.57</td><td>1585</td><td>0</td><td>3</td><td>0</td><td>3</td><td>10.00</td><td>4.17</td></tr><tr><td>NQKF</td><td>27.02</td><td>5359</td><td>1</td><td>2</td><td>4</td><td>7</td><td>9.95</td><td>4.04</td></tr><tr><td>1000_NQKF</td><td>25.18</td><td>4518</td><td>4</td><td>0</td><td>14</td><td>18</td><td>42.76</td><td>11.47</td></tr><tr><td rowspan="6">Strategy 2</td><td>EKF</td><td>24.50</td><td>1373</td><td>0</td><td>0</td><td>1</td><td>1</td><td>42.74</td><td>11.25</td><td rowspan="6">2.46</td><td rowspan="6">146</td></tr><tr><td>Gradient</td><td>24.72</td><td>10456</td><td>3</td><td>0</td><td>0</td><td>3</td><td>41.16</td><td>12.15</td></tr><tr><td>IKF</td><td>25.53</td><td>3767</td><td>1</td><td>3</td><td>2</td><td>6</td><td>42.74</td><td>10.81</td></tr><tr><td>NQKF</td><td>25.22</td><td>12235</td><td>3</td><td>1</td><td>9</td><td>13</td><td>41.68</td><td>12.47</td></tr></tbody></table>

multiple sensors' measurements, adjusting its internal gains based on its past estimate and current measurements. All processing failures observed on the Gradient approach were critical processing failures, and in some examples it could not recover itself until the end of the input dataset. On the other hand, the effectiveness of AE processing approaches can still be improved by optimally tuning the AE algorithms' parameters based on the sensors' noises. Among the KF-based approach, the EKF and IKF presented the lowest rates of critical processing failures, being the IKF the one that presented the best results for computation time and processing failures.

ACKNOWLEDGMENTS

This work has been partially supported by: MultiRad project, funded by Région Auvergne-Rhône-Alpes's international ambition pack (PAI); IRT Nanoelec (ANR-10-AIRT-05) and LabEx PERSYVAL-Lab (ANR-11-LABX-0025-01), both funded by the French government program "Programme d'Investissements d'Avenir (PIA)"; the Institut Laue-Langevin (ILL), allocating beamtime TEST-3202 (July) and 3219 (Aug); and the UGA/LPSC/GENESIS platform.

REFERENCES

[1] J. Crassidis, L. Markley, and Y. Cheng, "Survey of Nonlinear Attitude Estimation Methods," in *Journal of Guidance Control and Dynamics*, vol. 30, 01 2007, pp. 12-28.

[2] D. Choukroun, I. Y. BAR-ITZHACK, and Y. OSHMAN, "Novel Quater-nion Kalman Filter," in *IEEE Transactions on Aerospace and Electronic Systems*, vol. 42, no. 1, January 2006, pp. 174-190.

[3] J. Boyd, "Drones survey the great barrier reef: Aided by AI, hyperspectral cameras can distinguish bleached from unbleached coral - [News]," in *IEEE Spectrum*, vol. 56, no. 7, 2019, pp. 7-9.

[4] H. R. Shea, "MEMS for pico to micro-satellites," in *MOEMS and Miniaturized Systems VIII*, D. L. Dickensheets, H. Schenk, and W. Piyawattanametha, Eds., International Society for Optics and Photonics. SPIE, 2009, pp. 208-215.

[5] S. O. H. Madgwick, A. J. L. Harrison, and R. Vaidyanathan, "Estimation of IMU and MARG orientation using a gradient descent algorithm," in *IEEE International Conference on Rehabilitation Robotics*, July 2011, pp. 1-7.

[6] M. Xapsos, "A Brief History of Space Climatology: From the Big Bang to the Present," *IEEE Transactions on Nuclear Science*, vol. 66, no. 1, pp. 17-37, Jan. 2019.

[7] IEC, "Process management for avionics atmospheric radiation effects - part 1: Accommodation of atmospheric radiation effects via single event effects within avionics electronic equipment," Jan. 2016. [Online]. Available: https://webstore.iec.ch/publication/24053

[8] Y. Zheng et al., "Space Radiation and Plasma Effects on Satellites and Aviation: Quantities and Metrics for Tracking Performance of Space Weather Environment Models," *Space Weather*, vol. 17, no. 10, pp. 1384-1403, 2019.

[9] JEDEC, "Measurement and Reporting of Alpha Particle and Terrestrial Cosmic Ray Induced Soft Errors in Semiconductor Devices," Sep. 2021. [Online]. Available: https://www.jedec.org/standards-documents/docs/jesd-89a

[10] G. Bazzano et al., "Radiation testing of a commercial 6-axis MEMS inertial navigation unit at ENEA Frascati proton linear accelerator," in *Advances in Space Research*, vol. 67, no. 4, 2021, pp. 1379-1391.

[11] M. C. S. Stansberry, "Single event effect testing of the analog devices adx1354 3-axis mems accelerometer," NASA Goddard Space Flight Center, Code 561.4, Radiation Effects and Analysis Group 8800 Greenbelt RD Greenbelt, MD 20771, Tech. Rep., August 2018.

[12] Y. Zhi-yong et al., "Effects of harsh electromagnetic environment on inertial measurement unit of a flight vehicle," in *2007 International Symposium on Electromagnetic Compatibility*, 2007, pp. 307-310.

[13] R. Jiang et al., "Secure Estimation for Attitude and Heading Reference Systems Under Sparse Attacks," in *IEEE Sensors Journal*, vol. 19, no. 2, 2019, pp. 641-649.

[14] H. G. WANG and T. C. Williams, "Strategic inertial navigation systems - high-accuracy inertially stabilized platforms for hostile environments," in *IEEE Control Systems Magazine*, vol. 28, no. 1, 2008, pp. 65-85.

[15] T. Sartori et al., "Assessment of Attitude Estimation Processing System under Neutron Radiation Effects," in *Radiation and its Effects on Components and Systems - RADECS 2021*, September 2021.

[16] Y. Suh Soo, "Orientation Estimation Using a Quaternion-Based Indirect Kalman Filter With Adaptive Estimation of External Acceleration," in *IEEE Transactions on Instrumentation and measurement*, vol. 59, no. 12, December 2010.

[17] J. Diebel, "Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors," in *Matrix*, vol. 58, 01 2006.

[18] E. Fresk and G. Nikolakopoulos, "Full quaternion based attitude control for a quadrotor," in *2013 European Control Conference (ECC)*, 2013, pp. 3864-3869.

[19] G. Welch and G. Bishop, "An Introduction to the Kalman Filter," in *Proc. Siggraph Course*, vol. 8, 01 2006.

[20] A. M. Sabatini, "Quaternion-Based Extended Kalman Filter for Determining Orientation by Inertial and Magnetic Sensing," in *IEEE Transactions on biomedical engineering*, vol. 53, no. 7, July 2006.

[21] S. O. H. Madgwick, A. J. L. Harrison, and R. Vaidyanathan, "Estimation of IMU and MARG orientation using a gradient descent algorithm," in *IEEE International Conference on Rehabilitation Robotics*, July 2011, pp. 1-7.

[22] F. Villa et al., "Accelerator-Based Neutron Irradiation of Integrated Circuits at GENEPI2 (France)," in *2014 IEEE Radiation Effects Data Workshop (REDW)*, Jul. 2014, pp. 1-5.

[23] E. Normand, "Single-event effects in avionics," in *IEEE Transactions on Nuclear Science*, vol. 43, no. 2, 1996-04, pp. 461-474, conference Name: IEEE Transactions on Nuclear Science.

[24] C. Weulersse et al., "Contribution of Thermal Neutrons to Soft Error Rate," *IEEE Transactions on Nuclear Science*, vol. 65, no. 8, pp. 1851-1857, Aug. 2018.

[25] ARM Cortex-A72 MPCore Processor Technical Reference Manual, ARM, 2015. [Online]. Available: https://developer.arm.com/documentation/100095/0002