# UWB Localization with Battery-Powered Wireless Backbone for Drone-Based Inventory Management
## 5 System Performance Evaluation
### Update Frequency  
Most localization approaches (Kalman filter, particle filters) can provide a new position update every time a ranging message is received. As such, the update frequency is defined as the average number of ranging messages that are received over time. To calculate the ranging updates per time unit, the packet durations should be known.  
The transmission time of a UWB packet depends on the payload size and the selected physical settings. The frame starts with \(b_{pre}\) bits in the preamble, following by the SFD (Start of Frame Delimiter) bits which indicates the start of the frame. The number of SFD bits \(b_{SFD}\) is 8 when the bitrate is set to 110 kbps and 64 in the other cases. The frame consist of the physical header with \(b_{header}=21\) bits, the payload with \(b_{payload}\) bits and several bits for [PERSON] error correction.  
The duration for each transmitted symbol is different in the preamble, the header and the actual payload. It depends on the chosen PRF for the preamble symbol and the bitrate for the header and payload symbols. The exact symbol timings can be found in the DW1000 datasheet [32] and are denoted as \(\tau_{SHR}\), \(\tau_{PHR}\) and \(\tau_{DATA}\). Note that all variables required for calculation are defined in Table 4.  
\begin{table}
\begin{tabular}{l l} \hline \(n\) & number of anchors scheduled in superframe \\ \(b_{pre}\) & number of Preamble bits \\ \(b_{SFD}\) & number of Start Of Frame bits \\ \(b_{ps}\) & number of [PERSON] bits \\ \(b_{payload}\) & number of Payload bits \\ \(\tau_{SHR}\) & synchronization symbol duration \\ \(\tau_{PHR}\) & header symbol duration \\ \(\tau_{DATA}\) & data symbol duration \\ \(t_{instruction}\) & instruction delay \\ \(t_{radio}\) & radiochip delay \\ \(t_{margin}\) & timeslot margin \\ \hline \end{tabular}
\end{table}
Table 4: Variable definition.  
Figure 6: Validation of system. On the left image the drone is using the UWB system to perform an autonomous flight for inventory-taking. In the right image the UWB system is used for tracking a runner on a running track.  
To calculate the packet duration for the UWB messages, the following formulas are used:  
\[T_{sync} = (b_{pre}+b_{SFD})\times\tau_{SHR} \tag{7}\] \[T_{header} = b_{header}\times\tau_{PHR}\] (8) \[T_{data} = (b_{payload}+b_{rs})\times\tau_{DATA}\] (9) \[T_{tx} = T_{sync}+T_{header}+T_{data} \tag{10}\]  
The transmission time of sub-GHz packets depends on the modulation type (2-GFSK or 4-GFSK) and the bitrate (1.2 kbps to 500 kbps). The preamble and synchronization bits are transmitted using 2-GFSK while the remainder of the packet can be sent using 2-GFSK or 4-GFSK. In Table 5, the packet durations are shown for the slowest and fastest configuration for each UWB and sub-GHz. The packet duration for the synchronization message is calculated assuming a payload of 60 Bytes, which makes it possible to schedule up to 20 anchors in one superframe.  
Using these different transmission durations, we can define the lengths of the different slots using Equation (11). The slot length is the sum of the packet transmission duration, slot margins and time for hardware dependent properties such as radio turnover time and micro-controller instruction delay. To calculate the ranging update frequency \(f_{update}\), we first need to determine the superframe duration, which is simply the sum of the duration all slots in the superframe (Equation (12)). The update frequency is now found by calculating the number of superframes that fit in one second, multiplied with the number of anchors \(n\) inside one superframe (Equation (13)).  
\[T_{slot} = T_{tx}+t_{radio}+t_{instructions}+t_{margin} \tag{11}\] \[T_{superframe} = \sum_{s\in S}T_{slot}(s)\] (12) \[f_{update} = nT_{superframe}^{-1} \tag{13}\]  
where \(S\) is the collection of all slots in the superframe and \(n\) is the number of selected anchors in the superframe.