wjddn279 / DeepLearning_MIMO-NOMA

Realization of MIMO-NOMA signal detection system based on **C. Lin et al., “A deep learning approach for MIMO-NOMA downlink signal detection,” MDPI Sensors, vol. 19, no. 11, pp. 2526, 2019.
75 stars 29 forks source link

MIMO-NOMA Data generation #2

Open WiCi-Lab opened 4 years ago

WiCi-Lab commented 4 years ago

hello, thanks for sharing your code. When MIMO-NOMA data is generated, does MIMO works in multiplexing or diversity? The BER of MIMO-NOMA detection seem to vary irregularly as the number of lines increases for your code. Theoretically, it should increase as the number of antennas increases when MIMO work in multiplexing , or decrease as the number of antennas increases when MIMO work in diversity?

wjddn279 commented 4 years ago

Q. When MIMO-NOMA data is generated, does MIMO works in multiplexing or diversity? A. I think it is multiplexing because, MIMO is used to achieve higher data rate in this simulation

Q.The BER of MIMO-NOMA detection seem to vary irregularly as the number of lines increases for your code A. I can understand what you question. what it means "the number of lines increases for your code"?

WiCi-Lab commented 4 years ago

Sorry, this is my slip of the pen,and it should be "the number of antennas". I find the result of the program SISO_NOMA_DNN_BPSK is different from the result of MIMO_NOMA_DNN when the number of antennas is equal to 1 in your repository .Is it because their data sets are generated differently?

wjddn279 commented 4 years ago

Sorry, As a result of checking, result of the file SISO_NOMA_DNN_BPSK.py is problematic. So, the result of MIMO_NOMA_DNN when the number of antennas is correct.

WiCi-Lab commented 4 years ago

Thank you for your reply. For the file MIMO_NOMA_CNN.py, you have taken a different approach from the file MIMO NOMA DNN.py at the output layer of the neural network. I found that both methods were supported by the literature. Which one do you think is more suitable for the MIMO-NOMA system?

wjddn279 commented 4 years ago

MIMO_NOMA_CNN.py file is my approach to replace fully connected(FC) layer network with CNN network. At first, I thought performance of CNN is better than FC layer, because CNN is better than FC layer in aspect of classification performance. But result of simulation shows my opinion is wrong. FC layer is better and CNN is worse than performance i expect. I don`t know why the CNN is worse, but I expect it to be either. First, my simulation code has trouble. Theoretically, it is right CNN is better, but my experiment is wrong (It's not right to find a theory in deep learning....) Second is overfitting..... If I could speak English perfectly, I could talk more with you, but I am sorry that I cannot.

WiCi-Lab commented 4 years ago

I'm sorry I didn't make my question clear since my English is poor. If the number of antennas is set to 4 (M=N=4) and modulation scheme is BPSK, since the line code "la1 = tf.placeholder(shape=[None, 1<<M], dtype=tf.float32)" in the file MIMO_NOMA_CNN.py, the network output node is 16. But the the network output node is 8 in the file MIMO_NOMA_DNN.py since the line code "la1 = tf.placeholder(shape=[None, modulation_order * N], dtype=tf.float32, name = 'inputlabel1')" .

wjddn279 commented 4 years ago

I can't remeber why i write the code "la1 = tf.placeholder(shape=[None, 1<<M], dtype=tf.float32)" but i seem to have problem Can you simulate the code as you say not "1<<M" but "modulation_order * N" ?

WiCi-Lab commented 4 years ago

I have simulated two method, but there is still no convincing conclusion. There is a literature that supports this approach of "1<<M" -- M. Baek, S. Kwak, J. Jung, H. M. Kim and D. Choi, "Implementation Methodologies of Deep Learning-Based Signal Detection for Conventional MIMO Transmitters," in IEEE Transactions on Broadcasting, vol. 65, no. 3, pp. 636-642, Sept. 2019