Wireless Indoor Simulations

Description of Dataset

The Wireless Indoor Simulations dataset contains a large set of channels to enable a better understanding of the interplay between the propagation environment (e.g., materials, geometry) and corresponding channel effects (e.g., delay, receive power).

The dataset is in two parts:

  1. Wi3Rooms
    Where channels are simulated in various random configurations of 3-roomed indoor layouts in a 10⨉5⨉3m hull using the simulator PyLayers [1]
  2. WiIndoor
    Where the 10⨉10⨉3m indoor configurations are based on the RPLAN dataset [2] and typically contains 4-8 rooms. The simulations were performed using Wireless InSite with ray tracer X3D [3]

The dataset contains the geometry of the propagation environment (3d mesh, in.obj file format) and the wireless channels (multi-path components, in an hdf5 file format)


[1] https://pylayers.github.io/pylayers/

[2] http://staff.ustc.edu.cn/~fuxm/projects/DeepLayout/index.html

[3] https://www.remcom.com/wireless-insite-em-propagation-software

Dataset format details

The simulations are stored as HDF5 files (which can be conveniently read using e.g., h5py). The simulations were run over all combinations of random discrete choices of transmit (10-15 locations) and receive (~2K) spatial locations in each floor layout. Each HDF5 file contains the following tensors:

  • ‘channels’ (F, T, 1, R, D=8, K)-shaped tensor: containing channel simulations. For instance, channels[floor_idx, tx_idx, 0, rx_idx] fetches a (D=8, K)-dim channel for a combination of floor layout and transmit-receive link. The channel is represented as a set of D=8 attributes (e.g., gains, time-of-flight; more details below) for each of the K paths in the impulse response.
  • ‘tx’ (F, T, 3): 3-dim spatial coordinates of transmit device (in meters)
  • ‘rx’ (F, T, 1, R, 3): 3-dim spatial coordinates of receive device (in meters)
  • ‘interactions’ (F, T, 1, R, K, I, 4): geometric traversal data of the path. interactions[floor_idx, tx_idx, 0, rx_idx, path_idx] fetches a (I, 4)-dim tensor containing a sequence of I interactions the path (i.e., the ray) undergoes between the transmitter and receiver. See below for more details.
  • ‘floor_idx’ (F): index of the floor. The floor-plan geometry can be fetched as e.g., ‘.obj’. In case of Wi3Rooms, this index corresponds to the numpy random seed that was used to randomly generate the floor plan. The sequence in this case is not continuous, since some seeds generated layouts that led to simulation errors.


  • F = #environments
  • T = #tx locations
  • R = #rx locations
  • K = #paths
  • D = 8-dim attributes per path. The 8-dim correspond to:
    • 0: magnitude of complex gain (in dB)
    • 1: phase of complex gain (in radians)
    • 2: time of flight (in ns)
    • (3, 4): departure angles (azimuth and elevation, in radians)
    • (5, 6): arrival angles (azimuth and elevation, in radians)
    • 7: validity (either 0/1). 1 indicates regular element, 0 for padding element (we have this since we have variable of paths in each channel)
  • I = #interactions. Each interaction of the ray with some surface is further annotated with a 4-dim vector containing the interaction type and spatial co-ordinate where the ray is incident:
    • 0: interaction type, which can one of the following discrete values:
      0 = either tx/rx location;
      1 = diffraction;
      2 = reflection;
      3 = transmission;
      4 = reflection with ceiling;
      5 = reflection with floor
    • (1, 2, 3): 3-dim xyz spatial co-ordinate (in meters) where the ray is incident

Dataset organization details

The (uncompressed) simulation HDF5 files following the naming convention:



  • DS_NAME is one of {Wi3Rooms, WiIndoor}
  • SPLIT_NAME is one of {train, test1-checkerboard, test2-genz, test3-gendiag}
  • SUBSET_NUM is a subset of the dataset split, containing all necessary simulations for a subset of the floor layouts (at most 50 layouts in each subset). These subsets were primarily created to keep each file to a manageable size (<1G).

SPLIT_NAME: Now we provide more details on the “split”. Each dataset (Wi3Rooms/WiIndoor) is split into 1 training set and 3x test sets (referred to as “checkerboard”, “generalization-z”, and “generalization-diag” in the paper). See image below where the train set (blue markers; common to all sub-figures) and 3x test sets (orange markers) are shown for the 0th-index floor in the Wi3Rooms data, as a result of varying the tx/rx locations.

Additional details on the 4x sets:

  • Train set: we collect channels by sampling transmitter (‘Tx’) from approx. 10 locations (XY plane at an elevation of 2.8m) and similarly, receiver (`Rx') from 60⨉30 locations (but with elevation of 2m).
  • Checkerboard: where train and test Rx locations form a checkerboard pattern (alongside training locations) on the same XY plane at 2m elevation
  • Generalization-z: where we move the test Rx locations from checkerboard to a novel elevation (z=1.0m for wi3Rooms and z=2.5m for wiIndoor); and
  • Generalization-diag: where we sample test Rx locations on a diagonal XYZ plane.

The layout .obj files per dataset are stored inside -objs.tar.gz. In case of Wi3Rooms, this also contains the pylayers .lay files.

Dataset generation details

Generation details common to both Wi3Rooms and WiIndoor: All simulations were carried-out with a 3.5 GHz carrier frequency. Both transmit and receive wireless devices were configured with an omni-directional antenna beam pattern with a single element.

Wi3Rooms-specific details:

  • Layouts: Each floor plan spans an area of 10⨉5⨉3m. We also include the .lay files that contains the information (geometry, materials) that can be provided to pylayers to re-generate the simulations.
  • Materials: The ceiling and floors are set to reinforced concrete and remaining walls are set to brick.

WiIndoor-specific details:

  • Layouts: Each floor plan spans 10⨉10⨉3m. The indices of the floor plan (1-3) correspond to the layout from the RPLAN dataset.
  • Materials: Since RPLAN does not include material information, we manually specify them. Layered dielectric with two layers separated by free space of 89cm is chosen for all inner walls and the outer walls were made of thicker materials of concrete. Doors were created using free space except the balcony door which was created using glass with a small thickness. The balcony walls were laid out using brick walls.

Sample images



Dataset license

The Wi3Rooms & WiIndoor datasets are available for research purposes.

Dataset download

You will need to be logged in with your Qualcomm OneID account in order to download. If you do not have an active account, please click the "Register" button at the top of the page to get started.

Links to dataset files:

Please download ALL files, including the download instructions.

Obj filespart-1/1part-1/1
Trainpart-1/2   |   part-2/2part-1/1
test1-checkerboardpart-1/2   |   part-2/2part-1/1
test2-genzpart-1/2   |   part-2/2part-1/1
test3-gendiagpart-1/2   |   part-2/2part-1/1


If you use this dataset, please cite:

title={WiNe{RT}: Towards Neural Ray Tracing for Wireless Channel Modelling and Differentiable Simulations},
author={Tribhuvanesh Orekondy and Pratik Kumar and Shreya Kadambi and Hao Ye and Joseph Soriaga and Arash Behboodi},
booktitle={The Eleventh International Conference on Learning Representations (ICLR)},

Qualcomm AI Research

At Qualcomm AI Research, we are advancing AI to make its core capabilities – perception, reasoning, and action – ubiquitous across devices. Our mission is to make breakthroughs in fundamental AI research and scale them across industries. By bringing together some of the best minds in the field, we’re pushing the boundaries of what’s possible and shaping the future of AI.

Qualcomm AI Research continues to invest in and support deep-learning research in computer vision. The publication of the Wi3Rooms & WiIndoor datasets for use by the AI research community is one of our many initiatives.

Find out more about Qualcomm AI Research.

For any questions or technical support, please contact us at [email protected]

Qualcomm AI Research is an initiative of Qualcomm Technologies, Inc.