Rasim (RAdio network SIMulator) is a simple time-slot-based simulator for cognitive radio networks. Rasim.jl is port of rasim to Julia. I created the port mainly because the performance (simulation time) I was getting in Python was not satisfactory for my graduation project.
As I added new features for my proposed algorithm, Rasim.jl became more complicated than and a successor of Rasim.
The current dependency list is:
- Gadfly
- HDF5
- DataFrames
and Winston if you want to draw plots right after simulation.
Firstly set the parameter set you want to simulate by modifying Params.jl
, which is used like more or less a config file. Do not forget to modify parameters generated by genparam()
function. Then add your agents along project files and import them from Rasim by modifying Rasim.jl
. Lastly, add your agents to array agent_types
. If you want to make a single run, just import Rasim
and Params
from a script and call Rasim.run_whole_simulation(p)
where p
is the parameter set you configure (a variable of type ParamT
). IF you want to run a set of simulations parallelly, use RunParallel.jl
but don't forget to modify the first line to match number of your machine's CPU cores and set batch_run
parameter to true
in Params.jl
. You can also run Rasim.jl over a network of machines by writing a small Julia script.