Simulation Runner¶
The SimulationRunner class provides the main interface for running simulations of multi-user MIMO downlink systems. It is called by the user scripts and orchestrates the entire simulation process.
Documentation¶
- class SimulationRunner[source]
Orchestrates the execution of the MU-MIMO downlink system simulation.
- __init__(sim_config: SimConfig, system_config: SystemConfig)[source]
Initialize a simulation runner.
- Parameters:
sim_config (SimConfig) – The configuration of the simulation. This includes the SNR values, the minimum number of channel realizations, the minimum number of bit errors, and the number of symbols to be transmitted at once.
system_config (SystemConfig) – The configuration of the MU-MIMO system. This includes the number of user terminals (UTs), the number of transmit antennas at the base station (BS), the number of receive antennas per UT. Also, it includes the configurations of the BS, UTs and channel.
- run() SimResult[source]
Run the MU-MIMO downlink system simulation.
The simulation consists of an outer loop iterating over the SNR values and an inner loop iterating over the channel realizations for each SNR value until the stopping criterion is met. The stopping criterion is based on the minimum number of channel realizations and the minimum number of bit errors for each SNR value. The performance metrics are calculated for each channel realization and later averaged over the channel realizations for each SNR value. Finally, the simulation results are saved to a .npz file.
Results¶
- simulation_resultSimResult
The simulation results.