## 4 Development of ViPER+ for Construction Vehicles and Equipment Pose Estimation
### Localization Subsystem
#### 4.2.2 Input Correction and Location Estimation  
The accuracy of the location estimation can be significantly impacted by the reference anchor selection [44]. As a result, the reference selection approach in TDOA algorithms seeks to pick the best anchor as the reference with the lowest error in calculating the time of arrival. Besides choosing a reference, the choice of anchors for localization is crucial. The TDOA algorithm needs a minimum of four anchors to report the timestamp of the signals received. The number of reported timestamps may surpass the minimum needed timestamp for localization in system implementations with more than four anchors. Since each anchor received the signal in a different condition, the accuracy of the received timestamp estimation for each signal may change for each anchor. The anchor selection procedure eliminates any anchors that have less precision in estimating the received timestamp. Several studies have presented various approaches for both anchor and reference selection. [PERSON] et al. [47] proposed a reference selection approach that takes the shortest distance as the reference anchor because inaccurate measurements frequently have longer distances compared to accurate ones. Although this approach may work for some scenarios, it cannot be applied to all environments. Another study [46] compared all feasible inputs that could be used for localization to establish the best choice for anchors and the reference. Though the approach finds the best choice, the process requires a lot of computing effort. Hence, regular computers cannot estimate the location in a reasonable amount of time required for safety monitoring applications with this approach. Some studies focus on the characteristic of the signal to estimate the accuracy of the reception timestamp. Channel Impulse Response (CIR) is one item of diagnostic information provided by the receiver when the reception is completed. With CIR, applications can determine the phase and amplitude of the received signal during the reception. Some studies [22; 48; 49; 50] used machine learning methods to distinguish corrupted signals. The solutions from these studies need a preliminary dataset that matches the real data for the learning process. For this reason, these solutions are impractical as the training and testing environment might be different. The dynamicity of the environment also causes different types of reception that might not be considered in the training dataset. Another group of studies depended on using statistical methods on CIR [21; 51; 52; 53]. In place of extracting the feature and finding the patterns, these solutions analyze the characteristics of the CIR when the signal is corrupted. As such, the solutions from this group do not need extensive data collection for the training phase. However, researchers have cited that corrupted signals do not always follow the same principles, leading to incorrect error estimation of these solutions [20]. Another group of studies relies on previous inputs for anchor and reference selection. When tags transmit beacon messages at a high rate, this group of solutions claims that the input of the TDOA function is relatively close for two consecutive beacon messages. Thus, these solutions rely on the previous measurements for anchor and reference selection. [PERSON] et al. [54] proposed an approach for correcting two-way ranging using Kalman Filter on the previous results. ViPER [44] applied the same idea for TDOA localization and used a low-pass filter (LPF) to detect and correct corrupted signals. In addition to detecting errors, these solutions provide a degree of correction for erroneous signals. This is beneficial in situations where there are only four TDOA inputs for a beacon packet and the localization engine cannot eliminate any further input. Using LPF in ViPER requires the whole trace of TDOA inputs for correction. This means that the system needs to know the upcoming inputs for that anchor.