A simualtor for 5G baseband applications based on mocasin.
Assuming you have installed mocasin already, simply run pip install .
in this
directory to install fivegsim. If you plan on changing the code in this
repository, you should install in developer mode with pip install -e ."[dev]"
.
To run the 5G simulator, you may use its own entry point called fivegsim
. Note
that this entry point invoked with its own set of default settings. Running the
fivegsim
command is equivalent to the following mocasin command.
mocasin simulate simulation_type=fivegsim mapper=static_cfs platform=odroid
Currently, fivegsim
only works in conjunction with two platforms: odroid
and odroid_acc
. In principle, other platforms can be supported, but this
requires generating additional traces for the core types of those other
platforms.
To specify the input trace, use the trace_file
config key.
fivegsim trace_file=path/to/file
Fivegsim can also be used in conjunction with other mocasin tasks like
generate_mapping
. For this, fivegsim provides an application which is a
single instance (one UE) of the PHY Benchmark. For instance, you can run the
following commands.
mocasin graph_to_dot graph=phybench
mocasin generate_mapping mapper=random platform=odroid graph=phybench trace=phybench platform.processor_0.type=ARM_CORTEX_A7 platform.processor_1.type=ARM_CORTEX_A15
The precise configuration of phybench can be overwritten as follows
mocasin generate_mapping mapper=random platform=odroid graph=phybench trace=phybench phybench.prbs=10 phybench.layers=4 phybench.antennas=4 phybench.modulation_scheme=4 platform.processor_0.type=ARM_CORTEX_A7 platform.processor_1.type=ARM_CORTEX_A15
There is also a possibility to generate a new LTE trace, which could be supplied to the 5G simulator. To generate the new trace, run the following command.
python fivegsim/util/lte_trace_generator.py <# subframes (600)> <median_prbs (10)> <max_ue (3)> <period (1)>