# Evaluation of Multi-Sensor Fusion Methods for Ultrasonic Indoor Positioning
## 2 Global System Overview
### Proposed Positioning Algorithm  
After acquiring the ultrasonic signals from the three available receivers, \(r_{A}[n]\), \(r_{B}[n]\), and \(r_{C}[n]\), a set of BPSK demodulations and correlations with the corresponding emitted 1024-Kasami sequences is implemented. These correlation functions are analysed in order to detect the maximum peak values of the received signals and, consequently, determine the TDOAs between the receiver assembly and the beacons. Afterwards, the TDOAs allow estimation of the receiver's position by a Hyperbolic Gauss-Newton trilateration technique, because all the ULPSs' emissions are asynchronous. Taking that into account, as every receiver provides up to five transmissions per ULPS, and the total number of demodulations to compute is three (one per receiver), forty five correlation functions are then implemented. Figure 4 depicts this processing for the 3D receiver assembly [25], whereas Figure 5 shows an example of an incoming acquired signal and the corresponding fifteen correlation functions (for one of the three receivers) with the five emitters from the three available ULPSs.  
Figure 3: General aspect of the 3D receiver assembly: (**a**) the receiver assembly based on three single receivers; (**b**) a view of a single receiver.  
The position of each receiver is estimated from these time differences using a Gauss-Newton (GN) algorithm, which implies:  
* Defining an initial position \(p_{0}\) for the receiver (it should be chosen according to the a-priori knowledge of the environment; in our case we consider the centre of the positioning area). In the following steps of the algorithm, this position will be the previously obtained \(p_{k-1}\).
* Minimizing the following function \(f(x,y,z)\), in the hyperbolic case Equation (1): \[f(x,y,z)=\text{argmin}\sum_{i=1}^{l}(\Delta r_{1i}-\Delta\hat{r}_{1i})\] (1) where \(\Delta r_{1i}=r_{1}-r_{i}\) are the measured distance differences and \(\Delta\hat{r}_{1i}=\hat{r}_{1}-\hat{r}_{i}\) are the estimated distance differences computed at the last position of the receiver between the reference beacon \(B_{1}\) and the others \(B_{i}\) (\(i=2,\ldots,\) 5): \[\Delta\hat{r}_{1j}=\hat{r}_{1}-\hat{r}_{i}=\sqrt{\left(x-x_{1}\right)^{2}+ \left(y-y_{1}\right)^{2}+\left(z-z_{1}\right)^{2}}-\sqrt{\left(x-x_{i}\right) ^{2}+\left(y-y_{i}\right)^{2}+\left(z-z_{i}\right)^{2}}\] (2)
* Estimating, at each step \(k\), the new position \(p_{k}=p_{k-1}+\Delta\mathcal{X}\), and repeating the process until \(\Delta\mathcal{X}\) (obtained using the GN algorithm [19]) becomes small enough (according to a pre-defined threshold).  
Consequently, for any particular test point \(P\), by applying this algorithm at each receiver for each one of the three ULPSs, it is possible to obtain up to three different estimated positions for each receiver \(R_{A}\), \(R_{B}\), and \(R_{C}\), \(P_{A}\) (\(x_{1},y_{1},z_{1}\)), \(P_{B}\) (\(x_{2},y_{2},z_{2}\)), and \(P_{C}\) (\(x_{3},y_{3},z_{3}\)). Note that every ULPS has beacons emitting different codes and, consequently, the receiver is able to discriminate and calculate a position for each ULPS (if a large enough number of time differences is obtained). So, to improve the accuracy of the final position estimate, several fusion algorithms may be used [29]. For the positioning case,  
Figure 4: General block diagram of the processing proposed for the multiple receiver prototype.  
Figure 5: Example of the incoming acquired \(r_{A}[n]\) in a single receiver (**a**), as well as the correlation functions for the three available ULPSs (**b–d**).  
the loosely coupled fusion is applied after estimating the receiver's position for all the emitters, therefore merging these intermediate positions to get the final estimated one. On the other hand, the tightly coupled fusion consists of merging distance differences coming from ULPSs to update the previous positions [30].