This project implements a Mixture of Gaussian (MoG) approach to approximate the Probability Density Functions (PDF) of various fading channels (Kappa-Mu, Eta-Mu, Kappa-Mu Shadowed). It validates the theoretical derivations against simulation data and calculates key metrics like Outage Probability.
main.py: The main entry point for running simulations, generating data, and plotting figures.channel_utils.py: The core library containing PDF definitions, MoG fitting logic (EM algorithm, BIC selection), and metric calculations.GoM_Paper_Implementation_Slides.pdf: Detailed theoretical background and analysis report.
Install the required Python libraries:
pip install -r requirements.txtYou can run the simulator using the command line interface (CLI).
Validates if the code can accurately recover the parameters from Table IV of the reference paper.
python main.py --testTo generate specific figures (e.g., Figure 3 for PDF approximation and Figure 5 for Outage Probability):
python main.py --fig 3 5Available Figures:
1: Normalized BIC analysis2: Optimal Components vs Amount of Fading (AF)3: MoG Approximation vs Theoretical PDF5: Outage Probability Analysis
To run all simulations, save logs, and plot all figures:
python main.py --allThe simulation results (fitted parameters, KL divergence, MSE, etc.) will be automatically saved to execution_results.txt.
This project is a Python implementation based on the mathematical models and parameters described in the following paper:
- Modeling and Analysis of Wireless Channels via the Mixture of Gaussian Distribution
- Bassant Selim, Omar Alhussein, Sami Muhaidat, George K. Karagiannidis, and Jie Liang
- IEEE Transactions on Vehicular Technology, Vol. 65, No. 10, pp. 8309-8321, Oct. 2016.
Specifically, this simulation reproduces the analytical results and plots corresponding to Table IV and Figures 1, 2, 3, 5 of the paper to validate the MoG approximation accuracy.
Disclaimer: This repository is for educational and interview demonstration purposes only.