As an alternative to classical cryptography, Physical Layer Security (PhySec) provides primitives to achieve fundamental security goals like confidentiality, authentication or key derivation. Through its origins in the field of information theory, these primitives are rigorously analysed and their information theoretic security is proven. Nevertheless, the practical realizations of the different approaches do take certain assumptions about the physical world as granted.


The data is provided as zipped NumPy arrays with custom headers. To load an file the NumPy package is required.

The respective loadz primitive allows for a straight forward loading of the datasets.

To load a file “file.npz” the following code is sufficient:

import numpy as np

measurement = np.load(’file.npz ’, allow pickle =False)

header , data = measurement [’header ’], measurement [’data ’]

The dataset comes with a supplementary script illustrating the basic usage of the dataset.


This dataset includes UWB range measurements performed with Pozyx devices. The measurements were collected between two tags placed at several distances and in two different conditions: with Line of Sight (LOS) and Non-Line of Sight (NLOS). The measurements include the range estimated by the Pozyx tag, the actual distance between devices, the timestamp of each measurement and the values corresponding to the samples of the Channel Impulse Response (CIR) after each transmission.


Dataset contains two zip files. One contains the raw rosbag records and the second one includes two matlab files (one for the LOS scenario, other for the NLOS) that include the final data once the actual distance is added and the CIR measurements are processed.

Rosbag files contain messages of type PozyxRangingWithCir. This type of message can be found in the next repository:

Each of the matlab files contains an array of structs. Each struct has these fields:

  • range: Pozyx estimation of distance.
  • distance: Current distance between devices.
  • rss: Estimation of received power.
  • seq: A ranging sequence number, between 0 and 255.
  • timestamp: Timestamp of the measure. 
  • cirPower: CIR power calculated using this formula: 10*log10(abs(cirRealPart.^2)).
  • cir: Samples of the CIR. 1016 complex values.