NLOS Identification and Mitigation Using Low-Cost UWB Devices

Citation Author(s):
University of A Coruña
Carlos J.
University of A Coruña
Jose Antonio
Submitted by:
Valentin Barral
Last updated:
Sun, 02/02/2020 - 16:42
Data Format:
2 ratings - Please login to submit your rating.


Indoor location systems based on ultra-wideband (UWB) technology have become very popular in recent years following the introduction of a number of low-cost devices on the market capable of providing accurate distance measurements. Although promising, UWB devices also suffer from the classic problems found when working in indoor scenarios, especially when there is no a clear line-of-sight (LOS) between the emitter and the receiver, causing the estimation error to increase up to several meters. In this work, machine learning (ML) techniques are employed to analyze several sets of real UWB measurements, captured in different scenarios, to try to identify the measurements facing non-line-of-sight (NLOS) propagation condition. Additionally, an ulterior process is carried out to mitigate the deviation of these measurements from the actual distance value between the devices. The results show that ML techniques are suitable to identify NLOS propagation conditions and also to mitigate the error of the estimates when there is LOS between the emitter and the receiver.




If you have used this data in a scientific publication, we would appreciate citations to the following paper:

Barral, V.; Escudero, C.J.; García-Naya, J.A.; Maneiro-Catoira, R. NLOS Identification and Mitigation Using Low-Cost UWB Devices. Sensors 2019, 19, 3464.


How to use:

In Matlab:


los = load('LOS.mat');

nlos_h = load('NLOS_H.mat');

nlos_s = load('NLOS_S.mat');


where "LOS.mat" contains the measurements in the LOS scenario, "NLOS_H.mat " includes the measurements of an NLOS Hard scenario, and "NLOS_S.mat" includes the measurements of an NLOS Soft scenario.


Data is stored in a 1x1 struct named logRanging that includes:

- realRange (Nx1) double The actual distance between anchor and tag. In cm.

- range (Nx1) int64. The value outputted by the device. In cm.

- rxPower (Nx1) double. The received power strength. In dBm.

- timestamp (Nx1) double. Measurement timestamp. In unix time.

- angle (Nx1) double. Not used in this set.