On this Page
Introduction
Dataset – Massive MIMO Spatial Channel Model Dataset
Community
Get the Qualcomm® newsletter straight to your inbox.
This dataset contains samples of the frequency domain channel matrix for the channel between user equipment (UEs) and their corresponding serving cell, synthetically generated using the 3GPP Spatial Channel Model defined in TR 38.901. The data can be used to better understand the statistical distribution of channel characteristics in a typical dense urban layout.
No 3D asset configured
Dataset format details
The dataset is organized into several records, one per UE. Each record contains the following variables:
| Name | Type | Description |
|---|---|---|
| Hf | Complex float array with size (# time samples, #UE ports, #RBs, #gNB ports) |
20 time samples (20 ms apart) of frequency domain channel matrix per resource block |
UeX_meters |
Float | relative X location of UE (meters) |
UeY_meters |
Float | relative Y location of UE (meters) |
UeZ_meters |
Float | relative Z location of UE (meters) |
ServingCellCouplingLoss_dB |
Float | Coupling loss between serving cell and UE (dB) |
| Outdoor | Logical | 1 if UE is outdoor, else 0 |
| LineOfSight | Logical | 1 if UE has line-of-sight condition to serving cell, else 0 |
| ServingCellId | Integer | index of serving cell of UE |
The following scripts provide examples for how the records can be retrieved and used.
The first script provides examples in Python:
import scipy.io as sio
import numpy as np
#############################################
# #
# Example 1: Load all data from one file #
# #
#############################################
UeRecord = sio.loadmat('UE1.mat', squeeze_me=True)
# This loads the data in UE1.mat into a dictionary called UeRecord:
# UeRecord['Hf'] : complex numpy array with shape (20, 4, 50, 32) - frequency domain channel matrix per resource block
# UeRecord['UeX_meters'] : float - relative X location of UE (meters)
# UeRecord['UeY_meters'] : float - relative Y location of UE (meters)
# UeRecord['UeZ_meters'] : float - relative Z location of UE (meters)
# UeRecord['ServingCellCouplingLoss_dB'] : float - coupling loss to serving cell (dB)
# UeRecord['Outdoor'] : int - 1 if UE is outdoor, 0 otherwise
# UeRecord['LineOfSight'] : int - 1 if UE has line-of-sight condition to serving cell, 0 otherwise
# UeRecord['ServingCellId'] : int - index of serving cell of UE
#############################################
# #
# Example 2: Load Hf data from 10 files #
# #
#############################################
Hf_all = np.empty((10, 20, 4, 50, 32), dtype='complex')
for i in range(10):
Hf = sio.loadmat(f'UE{i + 1}.mat', squeeze_me=True, variable_names='Hf')['Hf']
Hf_all[i] = Hf
The next script provides examples in MATLAB:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Example 1: Load all data from one file %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
UeRecord = load('UE1.mat');
% This loads the data in UE1.mat into a struct called UeRecord:
% UeRecord.Hf : complex array with size (20, 4, 50, 32) - frequency domain channel matrix per resource block
% UeRecord.UeX_meters : float - relative X location of UE (meters)
% UeRecord.UeY_meters : float - relative Y location of UE (meters)
% UeRecord.UeZ_meters : float - relative Z location of UE (meters)
% UeRecord.ServingCellCouplingLoss_dB : float - coupling loss to serving cell (dB)
% UeRecord.Outdoor : logical - 1 if UE is outdoor, 0 otherwise
% UeRecord.LineOfSight : logical - 1 if UE has line-of-sight condition to serving cell, 0 otherwise
% UeRecord.ServingCellId : int - index of serving cell of UE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Example 2: Load Hf data from 10 files %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hf_all = zeros(10, 20, 4, 50, 32);
for i = 1:10
load(sprintf('UE%d.mat', i), 'Hf');
Hf_all(i, :, :, :, :) = Hf;
end
The index of the serving cell (ServingCellId) refers to an integer from 1 to 57 that indicates the serving sector (or cell) in a two-tier hexagonal layout with 3 sectors per site. The cell locations are according to the following table:
ServingCellId | X_meters | Y_meters |
|---|---|---|
1 | 0 | 0 |
2 | 0 | 0 |
3 | 0 | 0 |
4 | 0 | 200 |
5 | 0 | 200 |
6 | 0 | 200 |
7 | 173.205 | 100 |
8 | 173.205 | 100 |
9 | 173.205 | 100 |
10 | 173.205 | -100 |
11 | 173.205 | -100 |
12 | 173.205 | -100 |
13 | 0 | -200 |
14 | 0 | -200 |
15 | 0 | -200 |
16 | -173.205 | -100 |
17 | -173.205 | -100 |
18 | -173.205 | -100 |
19 | -173.205 | 100 |
20 | -173.205 | 100 |
21 | -173.205 | 100 |
22 | 0 | 400 |
23 | 0 | 400 |
24 | 0 | 400 |
25 | 173.205 | 300 |
26 | 173.205 | 300 |
27 | 173.205 | 300 |
28 | 346.41 | 200 |
29 | 346.41 | 200 |
30 | 346.41 | 200 |
31 | 346.41 | 0 |
32 | 346.41 | 0 |
33 | 346.41 | 0 |
34 | 346.41 | -200 |
35 | 346.41 | -200 |
36 | 346.41 | -200 |
37 | 173.205 | -300 |
38 | 173.205 | -300 |
39 | 173.205 | -300 |
40 | 0 | -400 |
41 | 0 | -400 |
42 | 0 | -400 |
43 | -173.205 | -300 |
44 | -173.205 | -300 |
45 | -173.205 | -300 |
46 | -346.41 | -200 |
47 | -346.41 | -200 |
48 | -346.41 | -200 |
49 | -346.41 | 0 |
50 | -346.41 | 0 |
51 | -346.41 | 0 |
52 | -346.41 | 200 |
53 | -346.41 | 200 |
54 | -346.41 | 200 |
55 | -173.205 | 300 |
56 | -173.205 | 300 |
57 | -173.205 | 300 |
Dataset organization details
Each UE’s record is stored as a separate .MAT file. The .MAT files are grouped into .ZIP files each containing the files for 550 UEs. The total number of UEs is 42180.
Dataset generation details
The data is based on the dense urban layout (macrocell layer only). A two-tier hexagonal layout with 3 sectors per site is assumed, and wrap-around modeling is incorporated. The inter-site distance is 200 meters, the base station antenna height is 25 meters, and the minimum BS-UE distance is set to 35 meters. Spatial consistency is modeled, as described in TR 38.901. Mobility aspects are not considered.
In the spatial domain, massive MIMO is assumed wherein each base station is modeled with 128 antenna elements mapped to 32 ports, and each UE is modeled with 4 antenna elements mapped to 4 ports.
In the frequency domain, a 4 GHz carrier frequency is assumed. The channel data is computed for 20 MHz bandwidth, mapped to 50 resource blocks (RBs).
In the time domain, for each UE, 20 time-samples of the channel are recorded, with successive time samples being 20 milliseconds apart.
The following table captures the above assumptions:
Parameter |
Value |
Scenario |
Dense Urban (Macro only) |
Frequency Range |
FR1, 4 GHz |
Inter-BS distance |
200m |
Minimum BS-UE 2D distance |
35 m |
Channel model |
UMa, according to TR 38.901 |
Antenna setup and port layouts at gNB |
32 ports: (8,8,2,1,1,2,8), (dH,dV) = (0.5, 0.8)λ |
Antenna setup and port layouts at UE |
4 ports: (1,2,2,1,1,1,2), (dH,dV) = (0.5, 0.5)λ |
BS antenna height |
25m |
UE antenna height & gain |
Follow TR 36.873 |
Bandwidth |
20 MHz (50 RBs) |
UE distribution |
80% indoor (3km/h), 20% outdoor (30km/h) |
Dataset license
Massive MIMO Spatial Channel Model Dataset is available for research purposes.
Massive MIMO Spatial Channel Model Dataset License Agreement
Qualcomm AI Research
AI is shifting from simply seeing what is happening in front of the camera to understanding it. Data is the effective force behind these deep learning breakthroughs and is integral to the human-level performance of neural networks. Our crowd-acting approach to data collection overcomes the typical limitations of crowdsourcing, resulting in high-quality video data that is densely captioned, human-centric and diverse.
Qualcomm AI Research continues to invest in and support deep-learning research in computer vision. The publication of the Jester dataset 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.
Connect with our communities
Stay ahead of the curve
Receive the latest updates, exclusive offers, and valuable insights delivered through the Qualcomm newsletter straight to your inbox.
Stay ahead of the curve
Receive the latest updates, exclusive offers, and valuable insights delivered through the Qualcomm newsletter straight to your inbox.
