Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
1f446432
Commit
1f446432
authored
Apr 11, 2018
by
Cedric Roux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop-simL1-fixes' into develop_integration_2018_w15
parents
86599d47
0ab2b2b2
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
55 additions
and
57 deletions
+55
-57
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+4
-3
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+3
-3
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+2
-2
openair1/SIMULATION/RF/dac.c
openair1/SIMULATION/RF/dac.c
+4
-6
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+1
-1
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+4
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
...TS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
+1
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
+1
-1
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+1
-1
targets/SIMU/USER/channel_sim.c
targets/SIMU/USER/channel_sim.c
+10
-6
targets/SIMU/USER/oaisim.c
targets/SIMU/USER/oaisim.c
+6
-10
targets/SIMU/USER/oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+17
-19
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
1f446432
...
...
@@ -5028,7 +5028,7 @@ void compute_llr_offset(LTE_DL_FRAME_PARMS *frame_parms,
pdsch_vars
->
llr_offset
[
pdcch_vars
->
num_pdcch_symbols
]
=
0
;
LOG_I
(
PHY
,
"compute_llr_offset: nb RB %d - Qm %d
\n
"
,
nb_rb_alloc
,
dlsch0_harq
->
Qm
);
//
LOG_I(PHY,"compute_llr_offset: nb RB %d - Qm %d \n", nb_rb_alloc, dlsch0_harq->Qm);
//dlsch0_harq->rb_alloc_even;
//dlsch0_harq->rb_alloc_odd;
...
...
@@ -5057,16 +5057,17 @@ void compute_llr_offset(LTE_DL_FRAME_PARMS *frame_parms,
pdsch_vars
->
llr_length
[
symbol
]
=
data_re
;
if
(
symbol
<
(
frame_parms
->
symbols_per_tti
-
1
))
pdsch_vars
->
llr_offset
[
symbol
+
1
]
=
pdsch_vars
->
llr_offset
[
symbol
]
+
llr_offset
;
/*
LOG_I(PHY,"Granted Re subframe %d / symbol %d => %d (%d RBs)\n", subframe, symbol_mod, granted_re,dlsch0_harq->nb_rb);
LOG_I(PHY,"Pbch/PSS/SSS Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, pbch_pss_sss_re);
LOG_I(PHY,"CRS Re Per PRB subframe %d / symbol %d => %d \n", subframe, symbol_mod, crs_re);
LOG_I(PHY,"Data Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, data_re);
LOG_I(PHY,"Data Re subframe %d-symbol %d => llr length %d, llr offset %d \n", subframe, symbol,
pdsch_vars->llr_length[symbol], pdsch_vars->llr_offset[symbol]);
*/
}
}
void
prepare_dl_decoding_format1_1A
(
DCI_format_t
dci_format
,
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
View file @
1f446432
...
...
@@ -48,7 +48,7 @@ int16_t interf_unaw_shift = 13;
//#define DEBUG_HARQ
#define DEBUG_PHY 1
//
#define DEBUG_PHY 1
//#define DEBUG_DLSCH_DEMOD 1
//#define DISABLE_LOG_X
...
...
@@ -842,7 +842,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
pllr_symbol_cw1
=
(
int8_t
*
)
pdsch_vars
[
eNB_id
]
->
llr
[
1
];
pllr_symbol_cw0
+=
llr_offset_symbol
;
pllr_symbol_cw1
+=
llr_offset_symbol
;
/*
LOG_I(PHY,"compute LLRs [AbsSubframe %d.%d-%d] NbRB %d Qm %d LLRs-Length %d LLR-Offset %d @LLR Buff %p @LLR Buff(symb) %p\n",
frame, subframe,symbol,
nb_rb,dlsch0_harq->Qm,
...
...
@@ -850,7 +850,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
pdsch_vars[eNB_id]->llr_offset[symbol],
(int16_t*)pdsch_vars[eNB_id]->llr[0],
pllr_symbol_cw0);
*/
switch
(
dlsch0_harq
->
Qm
)
{
case
2
:
if
((
rx_type
==
rx_standard
)
||
(
codeword_TB1
==
-
1
))
{
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
1f446432
...
...
@@ -41,7 +41,7 @@
#include <sched.h>
#include "targets/RT/USER/lte-softmodem.h"
#define DEBUG_PHY_PROC
//
#define DEBUG_PHY_PROC
#ifndef PUCCH
#define PUCCH
...
...
@@ -81,7 +81,7 @@ extern uint32_t downlink_frequency[MAX_NUM_CCs][4];
#endif
#define UE_DEBUG_TRACE 1
//
#define UE_DEBUG_TRACE 1
void
dump_dlsch
(
PHY_VARS_UE
*
ue
,
UE_rxtx_proc_t
*
proc
,
uint8_t
eNB_id
,
uint8_t
subframe
,
uint8_t
harq_pid
)
{
...
...
openair1/SIMULATION/RF/dac.c
View file @
1f446432
...
...
@@ -91,10 +91,8 @@ double dac_fixed_gain(double *s_re[2],
int
i
;
int
aa
;
double
amp
,
amp1_local
,
*
amp1p
;
amp
=
//sqrt(NB_RE)*pow(10.0,.05*txpwr_dBm)/sqrt(nb_tx_antennas); //this is amp per tx antenna
pow
(
10
.
0
,.
05
*
txpwr_dBm
)
/
sqrt
(
nb_tx_antennas
);
//this is amp per tx antenna
double
amp1_local
,
*
amp1p
;
double
amp
=
pow
(
10
.
0
,.
05
*
txpwr_dBm
)
/
sqrt
(
nb_tx_antennas
);
//this is amp per tx antenna
if
(
amp1
==
NULL
)
amp1p
=
&
amp1_local
;
else
amp1p
=
amp1
;
...
...
@@ -123,7 +121,7 @@ double dac_fixed_gain(double *s_re[2],
//printf("DL: amp1 %f dB (%d,%d), tx_power %f\n",20*log10(amp1),input_offset,input_offset_meas,txpwr_dBm);
*/
// printf("DAC: amp/amp1p %f amp1 %f dB (%d,%d), tx_power %f\n",amp/(*amp1p),20*log10(*amp1p),input_offset,input_offset_meas,txpwr_dBm);
for
(
i
=
0
;
i
<
length
;
i
++
)
{
for
(
aa
=
0
;
aa
<
nb_tx_antennas
;
aa
++
)
{
s_re
[
aa
][
i
]
=
amp
*
((
double
)(((
short
*
)
input
[
aa
]))[((
i
+
input_offset
)
<<
1
)])
/
(
*
amp1p
);
...
...
@@ -131,7 +129,7 @@ double dac_fixed_gain(double *s_re[2],
}
}
// printf("ener %e\n",signal_energy_fp(s_re,s_im,nb_tx_antennas,length,0));
// printf("ener %e\n",signal_energy_fp(s_re,s_im,nb_tx_antennas,length
<length_meas?length:length_meas
,0));
return
(
signal_energy_fp
(
s_re
,
s_im
,
nb_tx_antennas
,
length
<
length_meas
?
length
:
length_meas
,
0
)
/
NB_RE
);
}
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
1f446432
...
...
@@ -542,7 +542,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
rnti
=
UE_RNTI
(
module_idP
,
i
);
CC_id
=
UE_PCCID
(
module_idP
,
i
);
if
((
frameP
==
0
)
&&
(
subframeP
==
0
))
{
if
((
(
frameP
&
127
)
==
0
)
&&
(
subframeP
==
0
))
{
LOG_I
(
MAC
,
"UE rnti %x : %s, PHR %d dB DL CQI %d PUSCH SNR %d PUCCH SNR %d
\n
"
,
rnti
,
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
1f446432
...
...
@@ -1281,7 +1281,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
// this is the normalized RX power and this should be constant (regardless of mcs
normalized_rx_power
=
UE_sched_ctrl
->
pusch_snr
[
CC_id
];
target_rx_power
=
1
7
8
;
target_rx_power
=
1
5
8
;
// this assumes accumulated tpc
// make sure that we are only sending a tpc update once a frame, otherwise the control loop will freak out
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
View file @
1f446432
...
...
@@ -859,7 +859,8 @@ void pdcp_update_stats(const protocol_ctxt_t* const ctxt_pP){
for
(
pdcp_uid
=
0
;
pdcp_uid
<
NUMBER_OF_UE_MAX
;
pdcp_uid
++
){
//printf("frame %d and subframe %d \n", pdcp_enb[ctxt_pP->module_id].frame, pdcp_enb[ctxt_pP->module_id].subframe);
// tx stats
if
(
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
if
(
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
>
0
&&
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
// unit: bit/s
Pdcp_stats_tx_throughput_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_tx_bytes_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
*
8
;
Pdcp_stats_tx_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_tx_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
];
...
...
@@ -875,7 +876,8 @@ void pdcp_update_stats(const protocol_ctxt_t* const ctxt_pP){
Pdcp_stats_tx_aiat_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
0
;
}
if
(
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
if
(
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
>
0
&&
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
// rx stats
Pdcp_stats_rx_goodput_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_rx_bytes_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
*
8
;
Pdcp_stats_rx_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_rx_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
];
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
View file @
1f446432
...
...
@@ -73,8 +73,7 @@ eNBs =
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_p0_Nominal
= -
104
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
View file @
1f446432
...
...
@@ -11,7 +11,7 @@ RUs = (
tr_preference
=
"udp_if4p5"
;
nb_tx
=
1
;
nb_rx
=
1
;
max_pdschReferenceSignalPower
= -
29
;
max_pdschReferenceSignalPower
= -
15
;
max_rxgain
=
120
;
bands
= [
7
,
13
];
}
...
...
targets/RT/USER/lte-ru.c
View file @
1f446432
...
...
@@ -1227,7 +1227,7 @@ static inline int wakeup_prach_ru(RU_t *ru) {
ru
->
eNB_list
[
0
]
->
proc
.
frame_prach
=
ru
->
proc
.
frame_rx
;
ru
->
eNB_list
[
0
]
->
proc
.
subframe_prach
=
ru
->
proc
.
subframe_rx
;
}
LOG_
I
(
PHY
,
"RU %d: waking up PRACH thread
\n
"
,
ru
->
idx
);
LOG_
D
(
PHY
,
"RU %d: waking up PRACH thread
\n
"
,
ru
->
idx
);
// the thread can now be woken up
AssertFatal
(
pthread_cond_signal
(
&
ru
->
proc
.
cond_prach
)
==
0
,
"ERROR pthread_cond_signal for RU prach thread
\n
"
);
}
...
...
targets/SIMU/USER/channel_sim.c
View file @
1f446432
...
...
@@ -60,7 +60,11 @@
#include "oaisim.h"
#define RF
//#define DEBUG_SIM
#define DEBUG_SIM
/*
#undef LOG_D
#define LOG_D(A,B,C...) printf(B,C)
*/
int
number_rb_ul
;
int
first_rbUL
;
...
...
@@ -232,7 +236,6 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
pthread_mutex_lock
(
&
RU_output_mutex
[
UE_id
]);
if
(
RU_output_mask
[
UE_id
]
==
0
)
{
// This is the first eNodeB for this UE, clear the buffer
for
(
aa
=
0
;
aa
<
nb_antennas_rx
;
aa
++
)
{
memset
((
void
*
)
r_re_DL
[
UE_id
][
aa
],
0
,(
RC
.
ru
[
0
]
->
frame_parms
.
samples_per_tti
)
*
sizeof
(
double
));
memset
((
void
*
)
r_im_DL
[
UE_id
][
aa
],
0
,(
RC
.
ru
[
0
]
->
frame_parms
.
samples_per_tti
)
*
sizeof
(
double
));
...
...
@@ -375,7 +378,8 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
UE_id
,
ru_id
,
10
*
log10
(
rx_pwr
),
subframe
);
#endif
pthread_mutex_lock
(
&
RU_output_mutex
[
UE_id
]);
for
(
i
=
0
;
i
<
frame_parms
->
samples_per_tti
;
i
++
)
{
for
(
aa
=
0
;
aa
<
nb_antennas_rx
;
aa
++
)
{
...
...
@@ -389,14 +393,14 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
double
*
r_re_p
[
2
]
=
{
r_re_DL
[
ru_id
][
0
],
r_re_DL
[
ru
_id
][
1
]};
double
*
r_im_p
[
2
]
=
{
r_im_DL
[
ru_id
][
0
],
r_im_DL
[
ru
_id
][
1
]};
double
*
r_re_p
[
2
]
=
{
r_re_DL
[
UE_id
][
0
],
r_re_DL
[
UE
_id
][
1
]};
double
*
r_im_p
[
2
]
=
{
r_im_DL
[
UE_id
][
0
],
r_im_DL
[
UE
_id
][
1
]};
#ifdef DEBUG_SIM
rx_pwr
=
signal_energy_fp
(
r_re_p
,
r_im_p
,
nb_antennas_rx
,
length
<
length_meas
?
length
:
length_meas
,
0
)
/
(
12
.
0
*
frame_parms
->
N_RB_DL
);
LOG_D
(
OCM
,
"[SIM][DL] UE %d : ADC in %f dBm/RE for subframe %d
\n
"
,
UE_id
,
10
*
log10
(
rx_pwr
),
subframe
);
#endif
rxdata
=
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
common_vars
.
rxdata
;
sf_offset
=
(
subframe
*
frame_parms
->
samples_per_tti
)
+
offset
;
...
...
targets/SIMU/USER/oaisim.c
View file @
1f446432
...
...
@@ -737,19 +737,16 @@ l2l1_task (void *args_p)
CC_id
=
0
;
int
all_done
=
0
;
while
(
all_done
==
0
)
{
pthread_mutex_lock
(
&
subframe_mutex
);
int
subframe_ru_mask_local
=
subframe_ru_mask
;
int
subframe_UE_mask_local
=
subframe_UE_mask
;
int
subframe_ru_mask_local
=
(
subframe_select
(
&
RC
.
ru
[
0
]
->
frame_parms
,(
sf
+
4
)
%
10
)
!=
SF_UL
)
?
subframe_ru_mask
:
((
1
<<
NB_RU
)
-
1
)
;
int
subframe_UE_mask_local
=
(
RC
.
ru
[
0
]
->
frame_parms
.
frame_type
==
FDD
||
subframe_select
(
&
RC
.
ru
[
0
]
->
frame_parms
,(
sf
+
4
)
%
10
)
!=
SF_DL
)
?
subframe_UE_mask
:
((
1
<<
NB_UE_INST
)
-
1
)
;
pthread_mutex_unlock
(
&
subframe_mutex
);
LOG_D
(
EMU
,
"Frame %d, Subframe %d, NB_RU %d, NB_UE %d: Checking masks %x,%x
\n
"
,
frame
,
sf
,
NB_RU
,
NB_UE_INST
,
subframe_ru_mask_local
,
subframe_UE_mask_local
);
if
((
subframe_ru_mask_local
==
((
1
<<
NB_RU
)
-
1
))
&&
(
subframe_UE_mask_local
==
((
1
<<
NB_UE_INST
)
-
1
)))
all_done
=
1
;
else
usleep
(
1500
);
(
subframe_UE_mask_local
==
((
1
<<
NB_UE_INST
)
-
1
)))
all_done
=
1
;
else
usleep
(
1500
);
}
...
...
@@ -816,18 +813,16 @@ l2l1_task (void *args_p)
fwrite (stats_buffer, 1, len, eNB_stats[eNB_inst]);
fflush(eNB_stats[eNB_inst]);
}
*/
#ifdef OPENAIR2
/*
if (eNB_l2_stats) {
len = dump_eNB_l2_stats (stats_buffer, 0);
rewind (eNB_l2_stats);
fwrite (stats_buffer, 1, len, eNB_l2_stats);
fflush(eNB_l2_stats);
}
*/
#endif
*/
#endif
}
}
// eNB_inst loop
...
...
@@ -1070,6 +1065,7 @@ void set_UE_defaults(int nb_ue) {
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
pdcch_vars
[
i
][
0
]
->
agregationLevel
=
0xFF
;
}
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
current_dlsch_cqi
[
0
]
=
10
;
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
tx_power_max_dBm
=
23
;
}
}
}
...
...
targets/SIMU/USER/oaisim_functions.c
View file @
1f446432
...
...
@@ -1087,20 +1087,21 @@ int ru_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
subframe
=
(
last_ru_rx_timestamp
[
ru_id
][
CC_id
]
/
RC
.
ru
[
ru_id
]
->
frame_parms
.
samples_per_tti
)
%
10
;
LOG_D
(
EMU
,
"RU_trx_read generating UL subframe %d (Ts %llu, current TS %llu)
\n
"
,
subframe
,(
unsigned
long
long
)
*
ptimestamp
,
(
unsigned
long
long
)
current_ru_rx_timestamp
[
ru_id
][
CC_id
]);
do_UL_sig
(
UE2RU
,
enb_data
,
ue_data
,
subframe
,
0
,
// abstraction_flag
&
RC
.
ru
[
ru_id
]
->
frame_parms
,
0
,
// frame is only used for abstraction
ru_id
,
CC_id
);
if
(
subframe_select
(
&
RC
.
ru
[
ru_id
]
->
frame_parms
,
subframe
)
!=
SF_DL
||
RC
.
ru
[
ru_id
]
->
frame_parms
.
frame_type
==
FDD
)
{
LOG_D
(
EMU
,
"RU_trx_read generating UL subframe %d (Ts %llu, current TS %llu)
\n
"
,
subframe
,(
unsigned
long
long
)
*
ptimestamp
,
(
unsigned
long
long
)
current_ru_rx_timestamp
[
ru_id
][
CC_id
]);
do_UL_sig
(
UE2RU
,
enb_data
,
ue_data
,
subframe
,
0
,
// abstraction_flag
&
RC
.
ru
[
ru_id
]
->
frame_parms
,
0
,
// frame is only used for abstraction
ru_id
,
CC_id
);
}
last_ru_rx_timestamp
[
ru_id
][
CC_id
]
+=
RC
.
ru
[
ru_id
]
->
frame_parms
.
samples_per_tti
;
sample_count
+=
RC
.
ru
[
ru_id
]
->
frame_parms
.
samples_per_tti
;
}
...
...
@@ -1352,9 +1353,6 @@ void init_devices(void){
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
rfdevice
.
trx_set_freq_func
=
UE_trx_set_freq
;
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
rfdevice
.
trx_set_gains_func
=
UE_trx_set_gains
;
last_UE_rx_timestamp
[
UE_id
][
CC_id
]
=
0
;
}
}
}
...
...
@@ -1529,11 +1527,11 @@ void update_ocm()
//LOG_D(OMG," extracting position of eNb...\n");
//display_node_list(enb_node_list);
// display_node_list(ue_node_list);
extract_position
(
enb_node_list
,
enb_data
,
RC
.
nb_RU
);
//
extract_position(enb_node_list, enb_data, RC.nb_RU);
//extract_position_fixed_enb(enb_data, NB_eNB_INST,frame);
//LOG_D(OMG," extracting position of UE...\n");
// if (oai_emulation.info.omg_model_ue == TRACE)
extract_position
(
ue_node_list
,
ue_data
,
NB_UE_INST
);
//
extract_position(ue_node_list, ue_data, NB_UE_INST);
/* if (frame % 50 == 0)
LOG_N(OCM,"Path loss for TTI %d : \n", frame);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment