Skip to content

A time-slot based radio network simulator written in Julia

License

Notifications You must be signed in to change notification settings

maemre/Rasim.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rasim.jl

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.

Dependencies

The current dependency list is:

  • Gadfly
  • HDF5
  • DataFrames

and Winston if you want to draw plots right after simulation.

How to run

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.

About

A time-slot based radio network simulator written in Julia

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages