noma simulation based on oai - openairinterface€¦ · picture1 and picture2 are the...

19
NOMA simulation based on OAI Xinghe Chu Joint Open5G Lab

Upload: others

Post on 11-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

NOMA simulation based on OAI

Xinghe Chu

Joint Open5G Lab

Page 2: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

1.Functions in Downlink Simulation

2.Data in Downlink Simulation

3.Process of NOMA Simulation

4.Result of Simulation

5.Shortcomings and Expectation

Page 3: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

1.Functions in Downlink Simulation

begin configure parameter

in LTE

DCI initialization

eNB transmission phy_procedures_

eNB_TX

DL_channel

slot_fep UE receive

phy_procedures_UE_RX

BLER statistic end

OFDM modulation

do_OFDM_mod_l

NOMA

Page 4: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

eNB transmission-> phy_procedures_eNB_TX

• The details of the function:

DCI gerenate_dci_top

generate pcfich information gerenate_pcfich

generate DCI gerenate_dci0

pdcch scrambling pdcch_scrambling

pdcch interleaving pdcch_interleaving

pdcch mapping

generate data of users

get_dlsch_sdu

pdsch process pdsch_procedures

pdcch encoding dlsch_encoding

scrambling dlsch_scrambling

modulation dlsch_modulation

generate pilots information generate_pilots

back

Page 5: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

generate data of users

The data of users are random numbers,which is saved in

input_buffer0 or input_buffer1. The random numbers are generated by the function unsigned int

taus(void) and the operator and(&). And the function get_dlsch_sdu will return the array input_buffer0 or

input_buffer1 based on the parameter Tbindex is 0 or 1(when Tbindex is 0, input_buffer0 will be returned, or input_buffer1 will be returned).

back

Page 6: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

CHANNEL -> DL_channel

The file dlsim.c can simulate many kinds of channels, including SCM_C channel, SCM_D channel, EPA channel, EVA channel, ETU channel, MBSFN channel, Rayleigh channel, Rice channel and AWGN channel. And the model of the sumulation is just like y = x h + n. In the model, x is the data to be transmitted, h is channel impulse

response, n is white Gaussian noise and y is the receiving data. In the simulation of NOMA, I set the channel as AWGN channel, so

the channel impulse response hawgn is 1, and the model is y = x + n.

back

Page 7: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

UE receive -> phy_procedures_UE_RX

• The details of the function: pdcch procedure

pdcch_procedures

receive pdcch signals rx_pdcch

decode dci dci_decoding

pdsch procedure pdsch_procedur

es

receive pdsch signals

rx_pdsch

extract subcarrier dlsch_extract_rbs_single

channel compensation dlsch_channel_compensation

dlsch_qpsk_llr

dlsch procedure dlsch_procedure

s

unscramble dlsch_unscrambling

decode dlsch_decoding

back

Page 8: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

2.Data in Downlink Simulation

input_buffer dlsch_encoding eNB->dlsch-

>harq_processes[har_pid]->e

dlsch_scrambling eNB->dlsch->harq_processes[h

ar_pid]->e

dlsch_modulation

eNB->common_vars.t

xdataF

generate_pilots eNB->common_vars.t

xdataF

do_OFDM_mod_l eNB->common_vars.t

xdata

DL_channel UE->common_vars.r

xdata

slot_fep

UE->common_vars.dl_ch_estimates

llr rx_pdsch dlsch_unscrambling

llr dlsch_decoding UE-

>dlsch_eNB[eNB_id]-

>harq_processes->b[i]

Page 9: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

3.Process of NOMA Simulation

Step 1:There are 2 UEs in my simulation, the channel of one is good, and the other is bad.

Step 2:After encoding, scrambling,modulating and IDFT of the data from different users,we can reach two txdata array. Txdata1 is the data from UE1 with good channel, and txdata2 is the data from UE2 with bad channel.

Step 3:So the new array txdata = (alpha*txdata1 + beta*txdata2)/(alpha+beta), alpha<beta.

Step 4:Send txdata to DLchannel, we can reach rxdata.

Page 10: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

Step 5:For UE2, we can directly use the array rxdata and send it to the function phy_procedures_UE_RX to get the result.

Step 6:For UE1, firstly, we need send rxdata to phy_procedures_UE_RX to get the data of UE2. And then we send the data we got to phy_procedures_eNB_TX. So we can reach a new txdata array, we call it txdata'. Then we can reach a new rxdata called rxdata' by the formula.

rxdata' = [rxdata * (alpha+beta) - txdata' * beta]/alpha At last, we send the array rxdata' to phy_procedures_UE_RX, and we can get the data of UE1.

Page 11: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

NOMA

eNB

Data of UE1

Data of UE2

+ /(alpha+beta)

Data of UE2

encoding scrambling modulation OFDM alpha

encoding scrambling modulation OFDM beta

OFDM demodulation

Channel equalization demodulation unscrambling decoding

Data of UE2OFDM demodulation

Channel equalization demodulation unscrambling decoding

encodingscramblingmodulationOFDM+(alpha+beta)

(-beta)

OFDM demodulation

Channel equalization demodulation unscrambling decoding/alpha Data of UE1

Receiving data

Receiving data

eNB

UE2

UE1

Page 12: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

4.Result of Simulation

parameter value

duplex mode FDD

transmission mode TM1(SISO)

DL carrier frequency 2.59GHz

system bandwidth 5MHz

channel AWGN

In my simulation, the parameters are set as follows:

Page 13: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation)

picture3 is the constellation of UE1 again(in step 6, we need to use the data of UE1 to reach txdata', and this is the constellation of txdataF after dlsch_modulation).

constellation

picture1 picture2 picture3

Page 14: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

constellation

This is the constellation of rxdataF just after going through AWGN Channel.

Page 15: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

constellation

This is the constellation of rxdataF’.

Page 16: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

power allocaion

In this simulation, we don't have the picture of error rate because when the result is wrong, the result is 0 all the time and when the sinulation system can reach the result, the result is always totally the same as the user's data(input_buffer). So when the simulation system cannot reach the result, the error rate is always around 50% and 0 otherwise.

But I did another work---the relation between power allocation and SNR.We can see,

when the power allocation is settled, we can always find a minimun SNR of UE1 with good channel that makes the result right. So this SNR is called mSNR.

Page 17: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

0

5

10

15

20

25

0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

mSNR--alpha/beta

9,2

9,3

9,4

9,5

9,6

9,7

9,8

9,9

10

10,1

0,8 0,82 0,84 0,86 0,88 0,9 0,92

mSNR--alpha/beta

The x axis is the rate of alpha/beta, and y axis is mSNR(dB).

We can see from the first picture, as the inscreasing of alpha/beta, the mSNR decreases. But it stops at 0.8--0.9.

So I increase the precision of alpha/beta just like picture2.And we can see it goes irregular in this range.

And after 0.92, the result goes wrong.

So we can make the conclusion that in that simulation, the best power allocation rate is from 0.8 to 0.9, which allows channels with SNR around 10dB.

Page 18: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation

5.Shortcomings and Expectation

Shortcomings: This simulation can only simulate the most ideal scene in noma system, just like AWGN channel, SISOand so on. So it can only adapt to the ideal scene and some of the result may not be realistic in practice.

Expectation:

On the one hand, I will do more work on the simulation, so I will conclude more useful things, on the other hand, I will try to build NOMA system in real world.

Page 19: NOMA simulation based on OAI - OpenAirInterface€¦ · picture1 and picture2 are the constellations of UE1 and UE2(the array txdataF after dlsch_modulation) picture3 is the constellation