# Computational Load Analysis of a Galileo OSNMA-Read Receiver for ARM-Based Embedded Platforms +
## 4 Software Profiling Analysis of the OSNMA Functions
### Simulation Set-Up  
The analysis is mainly focused on the cryptographic functions call rate and execution times. The memory occupation has already been evaluated in [17], resulting in a negligible additional memory occupation due to the OSNMA functionality, with respect to the classical data processing. The same testbed as in [16; 17] has been used: it only includes the data decoding and the OSNMA functions, and all the related data structures, thereby speeding up the profiling analysis. The Galileo OS navigation message including the OSNMA bits has been generated by a MATLAB(r)-based script and provided as input to the testbed. Table 3 summarizes the navigation message generation setup, where four sets of values have been considered, corresponding to all the four Elliptic Curve Digital Signature Algorithm (ECDSA) EC options, as indicated for the NPKT field. The digital signature verification is indeed the heaviest function from a computational point of view [17]. The four different configurations imply that the reception of complete DSM-KROOT and the reception of DSM-PKR requires different numbers of subframes, as specified by NB_KROOT and NB_PKR fields. All other parameters have been kept fixed, including the number of MACK blocks per subframe (see NMACK field), and key (KS field) and MAC (MS field) sizes. In the chosen configuration, OSNMA transmits two MACK blocks per subframe, including five 10-bit MAC fields and one 96-bit key per block. Finally, a short TESLA chain length has been considered, as indicated by the D_KROOT parameter. The software testbed has been executed on the Raspberry Pi4 and ODROID-C4 platforms for a total of about 6 h of running time for each set of values reported in Table 3. \begin{table}
\begin{tabular}{c c c c c} \hline
**Platform** & **Platform 1**[16; 17] & **Platform 2**[16] & **Platform 3** & **Platform 4** \\ \hline \multirow{3}{*}{Board} & Dell Precision T1700 & \multirow{3}{*}{ODROID-X2} & \multirow{3}{*}{Raspberry Pi 4} & ODROID-C4 \\  & Desktop PC & & & \\ \multirow{2}{*}{Processor} & \multirow{2}{*}{Intel Xeon E3-1270 v3} & Samsung Exynos4412 & Broadcom BCM2711 & Amlogic S905 \(\times\) 3 \\  & & ARM Cortex-A9 & ARM Cortex-A72 & ARM Cortex-A55 \\ \multirow{2}{*}{Base frequency of the processor} & \multirow{2}{*}{3.50 GHz} & \multirow{2}{*}{1.7 GHz} & \multirow{2}{*}{1.5 GHz} & \multirow{2}{*}{2 GHz} \\ \multirow{2}{*}{Cores} & \multirow{2}{*}{8} & \multirow{2}{*}{4} & \multirow{2}{*}{4} & \multirow{2}{*}{4} \\ \multirow{2}{*}{Memory} & \multirow{2}{*}{16 GB DDR3} & \multirow{2}{*}{2 GB DDR2} & \multirow{2}{*}{4 GB LPDDR4} & \multirow{2}{*}{4 GB DDR4} \\ \multirow{2}{*}{Storage} & \multirow{2}{*}{1 TB HDD} & \multirow{2}{*}{64 GB eMMC} & \multirow{2}{*}{32 GB MicroSD} & \multirow{2}{*}{64 GB eMMC} \\ \multirow{2}{*}{Operative System} & Ubuntu 18.04.3 LTS (64 bit) & Ubuntu Linaro (32 bits) & Raspbian (32 bits) & Ubuntu Mate (64 bits) \\ \hline \end{tabular}
\end{table} 
Table 2: Platforms used for the software profiling analysis. © [2020] IEEE. Extended, with permission, from [16].