In this project, I have implemented the sphere decoding algorithm based on this paper(SDIRS algorithm), and after creating about 10,000 Test data, I have used the Deep Deural Network to learn the radius of the algorithm(DLbased_SD).
Python and using Keras for Deep Neural Net. also, I have used Jupyter notebook in DNN codes to a better visual understanding
Note : the base of Logarithm at y-axis is M for all results
number of operation for sphere decoding in infinite lattice case with noise variance = 0.01,0.1,1 over 2 <= M <= 10:
number of operation for sphere decoding in infinite lattice case with noise variance = 0.01, over 2<= M <= 200(number of antennas):infinite.py
finite lattice case for 16-QAM symbols at snr = 20dB :finite16QAM.py
Comparing 4-QAM and 16-QAM symbols at snr = 20dB:16QAM_4QAM.py
Comparing (4,16,64,256)-QAM through 10dB-40dB:10dB_to_40dB.py
1)Deep neural network for learning: DNN/DNN.ipynb
2)Comparing the DLbased_SD and SDIRS: Compare_DNN_SDIRS/comp_DNNandSDIRS.py
Comparing the average of runnig time :( Time average of DLbased_SD / Time average of SDIRS):
Comparing number of lattice points inside the sphere as important parameter for complexity: