Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Project-Based Learning Report

On
Object-Oriented realization the DNN based MIMO-NOMA signal
detection system

Submitted in the partial fulfillment of the requirements


For Project-based learning in 5G Architecture

in
Electronics & Communication Engineering
By
2014111047 Vinay Gupta
2014111044 Sania Goyal
2014111045 Swastik Gupta

Under the guidance of the Course In-charge

Dr. Tanuja.S. Dhope

Department of Electronics & Communication Engineering

Bharati Vidyapeeth
(Deemed to be
University) College of
Engineering, Pune –
4110043

Academic Year: 2023-24


Bharati Vidyapeeth
(Deemed to be
University) College of
Engineering,
Pune – 411043

DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING

CERTIFICATE

Certified that the Project Based Learning report entitled, “Object-Oriented realization the
DNN based MIMO-NOMA signal detection system” is work done by

2014111047 Vinay Gupta


2014111044 Sania Goyal
2014111045 Swastik Gupta

in partial fulfillment of the requirements for the award of credits for Project Based Learning
(PBL) in 5G Architecture of Bachelor of Technology Semester VIII, in Electronics and
Communication.

Date: 02-04-24

Dr. Tanuja S. Dhope Dr. Arundhati A. Shinde

Course In-charge Professor & Head E.C.E


INDEX

Sr. No. Title Page No.

1 Description of problem statement 4

2 Introduction 5

3 MIMO-NOMA 7

4 Code and Output 11

5 Project Outcome 14

6 Conclusion 15
Chapter-1

Description of Problem Statement

Object-Oriented realization the DNN based MIMO-NOMA


signal detection system using python.

In Multiple-Input Multiple-Output Non-Orthogonal Multiple Access (MIMO-NOMA) downlink communication


systems, the use of Successive Interference Cancellation (SIC) detection techniques offers promising
advancements in spectral efficiency. However, the performance of SIC heavily relies on accurate Channel State
Information (CSI) for decoding multiple users' signals. In practical scenarios, CSI acquisition is subject to errors
due to channel estimation inaccuracies, leading to performance degradation in signal detection. To address this
challenge, there is a need to develop robust signal detection techniques that can effectively handle imperfect CSI
caused by channel estimation errors in MIMO-NOMA downlink systems.
Chapter-2
Introduction

NOMA can implement multiple-signal multiplexing by allocating unbalanced power within a same
time/frequency/code resource. In contrast to traditional orthogonal multiple access (OMA) using orthogonal
resources such as OFDM, NOMA utilizes power in a non-orthogonal form to substantially enhance the spectrum

efficiency at the expense of receiver complexity.

Figure 1. Non-orthogonal multiple access (NOMA) system architecture. AWGN: additive white Gaussian noise; SIC:
successive interference cancellation.

The DNN is a deeper version of the neural network that generally consists of three types of layers: input, hidden,
and output. The input layer and output layer are single layers, whereas the hidden layers can be extended to
multiple layers depending on the complexity of the signal-processing algorithm. Each layer contains multiple
nodes, and the effects are exerted only on adjacent layers.
Figure 2. Construction of the deep neural network (DNN) model

Successive Interference Cancellation (SIC)


The detection of NOMA usually adopts the SIC method, and NOMA with a SIC has shown to be an optimal
multiple-access scheme in terms of the achievable multiuser capacity region in both uplink and downlink. The
SIC processes are shown in Figure 3.
Figure 3. SIC receiver architecture. SNR: signal-to-noise ratio

At the receiver, the SIC process is executed in descending order of signal-to-noise ratio (SNR).
For example, for 𝑝1>𝑝2>⋯>𝑝𝐾, user 1 will be decoded directly while the other signals are viewed as noise. The
throughput can be expressed as:

𝑅1=𝑙𝑜𝑔2[1+(𝑝1 |ℎ1|2 / ∑i𝐾=2 𝑝𝑖|ℎ1|2+𝑁0)]

For user 𝑘∈[1,𝐾], assuming that the first 𝑘−1 users are decoded perfectly, the throughput for user k is:

𝑅𝑘=𝑙𝑜𝑔2[1+(𝑝𝑘|ℎ𝑘|2/ (∑𝐾𝑖=𝑘+1 𝑝𝑖|ℎ𝑘|2+𝑁0))]

Hereby, the throughput for user K is:

𝑅𝐾=𝑙𝑜𝑔2[1+(𝑝𝐾 |ℎ𝐾|2 /𝑁0)]

Clearly, the decoding error of the higher-power signal is accumulated and affects the decoding accuracy of
the lower-power signal. This is a key problem of the SIC method that must be solved.
Chapter -3
MIMO Detection Technique
System Model

This paper considers downlink single-user MIMO system where one base station which has Nt transmit
antennas communicates with one user which has Nr receive antennas as shown in Fig.1. The spatially
multiplexed data streams are transmitted through the wireless channel and data streams are separated through
the MIMO detection technique at the receiver. In this system model, the received symbols vector y is as follows,

y=Hx+n,
(1)

where H is a Nr×Nt complex Rayleigh flat fading matrix, x is a Nt×1 complex transmit symbols vector,
and n is a Nr×1 complex additive white Gaussian noise (AWGN) vector. The statistical properties of all
elements in H and n are zero-mean and unit variance, and the average power for x is normalized to 1.

Figure 1: The Nr×Nt MIMO system model

Conventional MIMO Detection Scheme

This paper deals with the ML detection as a conventional scheme. Several low-complexity detectors which
have optimal error performance have been studied. However, the past detectors are not considered as
conventional schemes. The ML detection is performed by comparing the squared Euclidean distance between
the received symbols and the combination of all reference symbols as follows,

xML=argminx∈X{∥y−Hx∥2}, (2)
where X is set for all reference symbols. In several studies, the ML detection is a reference scheme for
performance comparison with low-complexity algorithms since it has optimal error performance. Again, the
low-complexity algorithms in the MIMO signal detection are no more attractive since a large number of low-
complexity algorithms were proposed and performances are saturated to certain point. Thus, this paper proposes
the DNN based ensemble machine learning algorithm in next section and these new trials show unprecedented
performance improvement.

MIMO-NOMA-DL System

Without any extra signal processing, the signal from the receiving antennas can be sent directly to the MIMO-
NOMA-DL detector. Therefore, MIMO-NOMA-DL is an easier and more efficient scheme to replace the SIC
receiver.

Overall, the MIMO-NOMA-DL system is composed of three components: training block, testing block, and
DNN detecting block.

Figure 4. Construction of the MIMO-NOMA-DL model. DL: deep learning.

The DNN block is the main detection block for decoding the received signal. The channel characteristics and
MIMO-NOMA decoding algorithm can be studied by optimizing the hyperparameters of the deep neural
network. In this block, multiple parameters, including the number of layers, activation function, loss function,
and optimization criteria iteration algorithm, must be designed; the details are discussed in the next subsection.
The first two blocks provide labels and signals polluted by channel, and the last block recovers the original
data. Accordingly, the detection process can be divided into two steps:

 Step 1: Training mode

In training mode, the offline training block is active while the online deployment block remains inactive. The
input of the DNN training system includes two components: the received MIMO-NOMA signal as the input
layer of the DNN system, and the labels as supervised data to help the DNN to optimize the parameters.

 Step 2: Testing mode

The testing mode is activated after the DNN has been trained. In Step 2, the offline block is suspended, and the
online block accesses the DNN system.
Chapter-4
PROGRAM AND OUTPUT

Code-:

import numpy as np
import matplotlib.pyplot as plt

def MIMO_NOMA_2USER_BPSK(n_iteration=100, n_symbol=1000, N=4, M=4, SNR_db=np.arange(0, 21, 2)):


# Generating random symbols for user 1 and user 2
symbol1 = np.random.choice([-1, 1], size=(N, n_symbol, n_iteration))
symbol2 = np.random.choice([-1, 1], size=(N, n_symbol, n_iteration))

# Generating channel matrices (Rayleigh fading channel)


H1 = (np.random.randn(N, M, n_iteration) + 1j * np.random.randn(N, M, n_iteration)) / np.sqrt(2)
H2 = 2 * (np.random.randn(N, M, n_iteration) + 1j * np.random.randn(N, M, n_iteration)) / np.sqrt(2)

# Superposition coding
SPC = np.sqrt(0.8) * symbol1 + np.sqrt(0.2) * symbol2
signal_power = np.mean(np.mean(np.mean(np.abs(SPC)**2)))

ERROR_user1 = np.zeros((n_iteration, len(SNR_db)))


ERROR_user2 = np.zeros((n_iteration, len(SNR_db)))

for j in range(n_iteration):
for i, snr in enumerate(SNR_db):
sigma = np.sqrt(signal_power * np.sqrt(N) / 10**(snr/10))

H_1 = H1[:,:,j]
H_2 = H2[:,:,j]
SPC_trans = SPC[:,:,j]
noise = (np.random.randn(M, n_symbol) + 1j * np.random.randn(M, n_symbol)) / np.sqrt(2)

# Decoding user 1 symbol


y1 = np.dot(H_1, SPC_trans) + sigma * noise
z1 = np.linalg.lstsq(H_1.conj().T @ H_1 + (sigma**2) * np.eye(N), H_1.conj().T @ y1, rcond=None)[0]
x_decod = np.sign(np.real(z1))
# Decoding user 2 symbol
y2 = np.dot(H_2, SPC_trans) + sigma * noise
z2 = np.linalg.lstsq(H_2.conj().T @ H_2 + (sigma**2) * np.eye(N), H_2.conj().T @ y2, rcond=None)[0]
x_decod_user1in2 = np.sign(np.real(z2))
y3 = y2 - np.sqrt(0.8) * np.dot(H_2, x_decod_user1in2)
z3 = np.linalg.lstsq(H_2.conj().T @ H_2 + (sigma**2) * np.eye(N), H_2.conj().T @ y3, rcond=None)[0]
x_decod_user2 = np.sign(np.real(z3))

# Calculate Symbol Error Rates (SER) for user 1 and user 2


ERROR_user1[j, i] = np.sum(np.abs((symbol1[:,:,j] - x_decod) / 2)) / (n_symbol * N)
ERROR_user2[j, i] = np.sum(np.abs((symbol2[:,:,j] - x_decod_user2) / 2)) / (n_symbol * N)

# Calculate average SER over all iterations


SER_user1 = np.mean(ERROR_user1, axis=0)
SER_user2 = np.mean(ERROR_user2, axis=0)

# Plot SER for user 1 and user 2


plt.figure()
plt.semilogy(SNR_db, SER_user1, '-o', label='User 1')
plt.semilogy(SNR_db, SER_user2, '-+', label='User 2')
plt.grid(True)
plt.xlabel('SNR (dB)')
plt.ylabel('Symbol Error Rate (SER)')
plt.title('Symbol Error Rate for MIMO NOMA with BPSK Modulation')
plt.legend()
plt.show()

return SER_user1, SER_user2

Output:
Figure 1:Graph B/w SER and SNR
Conclusion
In conclusion, the Object-Oriented realization of a Deep Neural Network (DNN) based Multiple
Input Multiple Output Non-Orthogonal Multiple Access (MIMO-NOMA) signal detection
system offers a structured and modular approach to designing and implementing complex
communication systems. By encapsulating key components such as neural network models,
MIMO communication channels, transmitters, and receivers into distinct classes, the system
becomes more flexible, scalable, and easier to maintain. This approach facilitates seamless
integration of machine learning algorithms with communication systems, enabling efficient
signal detection in MIMO-NOMA scenarios. Through effective object-oriented design
principles, developers can create robust and adaptable systems capable of meeting the demands
of modern wireless communication networ
Project Outcome:

The successful development of a deep learning-based signal detection framework for MIMO-NOMA downlink
communication with imperfect CSI has the potential to significantly enhance the performance and reliability of
future wireless communication systems, particularly in scenarios with high spectral efficiency requirements and
stringent reliability constraints.

CO4: Implement the 5G wireless propagation channel models and MIMO.


APPENDIX

References:

1. Chuan Lin, Qing Chang, and Xianxu Li. "A Deep Learning Approach for
MIMO-NOMA Downlink Signal Detection." Sensors 19, no. 11 (2019): 2526.
https://doi.org/10.3390/s19112526

You might also like