Simulation scenarios

The channel data generated by WiThRay is saved in CH. Types of UE positions determine the structure of CH.

Details of the structure of CH are explained here.

BS: base station

IRS: intelligent reflecting surface

UE: user equipment

VEH: vehicle

Tx: transmitter

Rx: receiver

RT: ray tracing

PG: propagation graph

OFDM: orthogonal frequency division multiplexing

Grid-type UE positions

simulset.x_range = [0 450]

simulset.y_range = [0 450]

simulset.num_grid = [49 49]


simulset.x_range = [150 200]

simulset.y_range = [150 200]

simulset.num_grid = [19 19]

simulset.x_range and simulset.y_range determine the grid map size of UE positions. simulset.num_grid(1) is the number of grid points on the x-axis, and simulset.num_grid(2) is the number of grid points on the y-axis.

Different positions of UE are indexed by idx_t1. The second index of CH.BS.time is fixed as idx_t2=1 for the grid-type channel data. The grid-type data does not consider the mobility of UE. Since channel taps do not change within a channel block, it is not necessary to generate channel taps for every channel snapshot. Thus, the size of CH.BS.time.ant.time is 1x(num_tap). If you want to convert the grid-type channel data into the OFDM domain, first make the circulant channel matrix based on CH.BS.time.ant.time and use discrete Fourier transformation.


Trajectory-type UE positions

The trajectory-type channel data deals with the UE mobility that causes the channel fading. Therefore, the channel taps can change even within the small sampling period. simulset.num_subcar+simulset.num_cycprf channel snapshots are converted to one OFDM block with simulset.num_subcar subcarriers, and consecutive simulset.num_blck OFDM blocks are created. Therefore, the sampling period for obtaining (simulset.num_subcar+simulset.num_cycprf) x simulset.num_subcar channel snapshots is fixed to 1/param.freq_band [sec]. (simulset.num_subcar+simulset.num_cycprf) x simulset.num_subcar channel snapshots construct one channel sample set, and there are simulset.num_samp sample sets, which means total number of channel snapshots is (simulset.num_subcar+simulset.num_cycprf) x simulset.num_blck x simulset.num_samp. The sampling period of sample sets is 1/simulset.period_samp [sec]. 


Sec2_UE_load.mlx creates (simulset.num_subcar+simulset.num_cycprf) x simulset.num_blck x simulset.num_samp UE positions for channel snapshots, where Sec2_UE_load.mlx randomly generates the trajectory of UE positions.