Python code used for the belief propagation algorithm and simulation in a CRN environment. Contains the core code used to generate the results used in the master's dissertation. The file "mc_results_learned.py" contains all the high-level testing code. The folder "decentralised_crn" contains the utilities for simulating the crn. The folder "factor_graph" contains the implementation of the belief propagation algorithm. The results datasets and image generation code used for all results in
the dissertation. The datasets are stored as Python pickle data objects,
and can be parsed into data structures using the code "results_plot.py". All the images are stored as LaTeX .pgf format.
The flow diagram of the algorithm that is the core output of the research project. The key results from the master's dissertation. A monte carlo simulation
was performed over the maliciousness and proportion of agents
introduced to a cognitive radio network. The spectrum sensing accuracy
of the proposed algorithm was evaluated against a control, and was shown
to be much more effective than the control in mitigating these attacks.
The malicious user detection performance, algorithm learning speed,
number of iterations to convergence, and effect of increasing trusted
users on the network was also analysed.
The mathematical model underpinning the research into the secure sensing
algorithm. Belief propagation is applied on this model to generate
messages to marginalise the joint distribution represented by this
graph. The subgraphs, along with annotated messages, are also attached.
NRF SARChI Chair for Advanced Sensor Networks
Department of Electrical, Electronic, and Computer Engineering