# DNCL: Hybrid DOA Estimation and NMDS Cooperative Multi-Target Localization for RFID
## 2 Background
### Nonmetric Multidimensional Scaling (NMDS)  
In wireless sensor network localization [38; 39], the multidimensional scaling (MDS) localization algorithm is often applied. Classical MDS obtains distance information between two individual nodes by ranging, then constructs a phase difference matrix that is linearly related to the Euclidean distance between nodes. The relative coordinates of nodes can be obtained from the phase difference matrix using the classical MDS algorithm. Following that, the absolute coordinates of the nodes were obtained using the coordinate system conversion algorithm.  
The nonmetric multidimensional scaling (NMDS) is based on non-ranging, which only requires the order of distance magnitudes between nodes to construct the dissimilarity matrix, and the \(STRESS1\) represents the degree of fit between the distance magnitude relationship of nodes to the dissimilarity matrix  
\[STRESS1=\sqrt{\sum_{i<j}\left(\hat{d}_{ij}-d_{ij}\right)^{2}/\sum_{i<j}d_{ij}^ {2}} \tag{8}\]  
where \(d_{ij}\) denotes the distance from the \(i\)th node to the \(j\)th node in the relative coordinates, disparities \(\hat{d}_{ij}\) has the same rank order as the dissimilarity matrix \([P_{ij}]\), they satisfy the same monotonic relationship.  
The purpose of NMDS is to minimize \(STRESS1\) by making the value of \(\hat{d}_{ij}\) as close to \(d_{ij}\) as possible through multiple iterations.  
The six main steps of the NMDS algorithm are as follows:  
1. Select the initial coordinates \(X^{0}\) of the position in the target tags space. The initial coordinates could be assigned at random or calculated with classical MDS. Set the  
Figure 2: Direction-of-arrival of the antenna array.  
threshold \(\varepsilon\) for \(STRESS1\), the maximum number of times to iterate \(k_{max}\) and the initialized number of iteration times \(k=0\).
2. After performing \(k\) iterations, the Euclidean distance for each node pair was calculated based on the obtained relative coordinates. \[d_{ij}^{k}=\left\|X_{i}^{k}-X_{j}^{k}\right\|_{2}\] (9)
3. The pool-adjacent violators (PAV) algorithm was used to generate the rank value matrix based on the phase dissimilarity matrix \([P_{ij}]\), ensuring that they satisfy the weak monotonicity relation.
4. The number of iterations plus 1, update the relative coordinates of the nodes \[x_{i}^{k}=x_{i}^{k-1}+\frac{a}{m-1}\sum_{j\in M_{i}j\
eq i}\left(1-\frac{\hat{d }_{ij}^{k-1}}{\hat{d}_{ij}^{k-1}}\right)\left(x_{j}^{k-1}-x_{i}^{k-1}\right)\] (10) \[y_{i}^{k}=y_{i}^{k-1}+\frac{a}{m-1}\sum_{j\in M_{i}j\
eq i}\left(1-\frac{\hat{d }_{ij}^{k-1}}{\hat{d}_{ij}^{k-1}}\right)\left(y_{j}^{k-1}-y_{i}^{k-1}\right)\] (11) where \(M\) represents the number of tags. We used \(a=0.2\) based on Kruskal [40].
5. Use the updated \(\hat{d}_{ij}\) to calculate the value of \(STRESS1\).
6. If \(STRESS1<\varepsilon\) or \(k>k_{max}\), stop the iteration, or execute step (3).  
The classical multidimensional scaling algorithm was used to determine the initial coordinates \(X^{0}\). Since NMDS was made to minimize \(STRESS1\) by performing several iterations, the final answer might fall into a local minimum if there is an error in the selection of the initial coordinates, so setting \(k_{max}\) can avoid the program from entering an infinite loop.