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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
alex037yang
OpenXG-RAN
Commits
ccef9862
Commit
ccef9862
authored
9 years ago
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nCCE changes prior to rebase
parent
2fe218e9
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
81 additions
and
78 deletions
+81
-78
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+24
-24
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
+4
-4
openair1/PHY/TOOLS/lte_dfts.c
openair1/PHY/TOOLS/lte_dfts.c
+1
-1
openair1/PHY/impl_defs_top.h
openair1/PHY/impl_defs_top.h
+1
-2
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+15
-15
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+15
-14
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+2
-0
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+2
-2
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+16
-15
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
ccef9862
...
...
@@ -2641,23 +2641,23 @@ int generate_eNB_dlsch_params_from_dci(int frame,
dlsch1_harq
->
subframe
=
subframe
;
}
#ifdef DEBUG_DCI
//
#ifdef DEBUG_DCI
if
(
dlsch0
)
{
msg
(
"dlsch0 eNB: dlsch0 %p
\n
"
,
dlsch0
);
msg
(
"dlsch0 eNB: rnti %x
\n
"
,
dlsch0
->
rnti
);
msg
(
"dlsch0 eNB: NBRB %d
\n
"
,
dlsch0_harq
->
nb_rb
);
msg
(
"dlsch0 eNB: rballoc %x
\n
"
,
dlsch0_harq
->
rb_alloc
[
0
]);
msg
(
"dlsch0 eNB: harq_pid %d
\n
"
,
harq_pid
);
msg
(
"dlsch0 eNB: round %d
\n
"
,
dlsch0_harq
->
round
);
msg
(
"dlsch0 eNB: rvidx %d
\n
"
,
dlsch0_harq
->
rvidx
);
msg
(
"dlsch0 eNB: TBS %d (NPRB %d)
\n
"
,
dlsch0_harq
->
TBS
,
NPRB
);
msg
(
"dlsch0 eNB: mcs %d
\n
"
,
dlsch0_harq
->
mcs
);
msg
(
"dlsch0 eNB: tpmi %d
\n
"
,
tpmi
);
msg
(
"dlsch0 eNB: mimo_mode %d
\n
"
,
dlsch0_harq
->
mimo_mode
);
printf
(
"dlsch0 eNB: dlsch0 %p
\n
"
,
dlsch0
);
printf
(
"dlsch0 eNB: rnti %x
\n
"
,
dlsch0
->
rnti
);
printf
(
"dlsch0 eNB: NBRB %d
\n
"
,
dlsch0_harq
->
nb_rb
);
printf
(
"dlsch0 eNB: rballoc %x
\n
"
,
dlsch0_harq
->
rb_alloc
[
0
]);
printf
(
"dlsch0 eNB: harq_pid %d
\n
"
,
harq_pid
);
printf
(
"dlsch0 eNB: round %d
\n
"
,
dlsch0_harq
->
round
);
printf
(
"dlsch0 eNB: rvidx %d
\n
"
,
dlsch0_harq
->
rvidx
);
printf
(
"dlsch0 eNB: TBS %d (NPRB %d)
\n
"
,
dlsch0_harq
->
TBS
,
NPRB
);
printf
(
"dlsch0 eNB: mcs %d
\n
"
,
dlsch0_harq
->
mcs
);
printf
(
"dlsch0 eNB: tpmi %d
\n
"
,
tpmi
);
printf
(
"dlsch0 eNB: mimo_mode %d
\n
"
,
dlsch0_harq
->
mimo_mode
);
}
#endif
//
#endif
// compute DL power control parameters
computeRhoA_eNB
(
pdsch_config_dedicated
,
dlsch
[
0
],
dlsch0_harq
->
dl_power_off
);
...
...
@@ -5508,21 +5508,21 @@ int generate_ue_dlsch_params_from_dci(int frame,
}
#ifdef DEBUG_DCI
//
#ifdef DEBUG_DCI
if
(
dlsch
[
0
])
{
msg
(
"PDSCH dlsch0 UE: rnti %x
\n
"
,
dlsch
[
0
]
->
rnti
);
msg
(
"PDSCH dlsch0 UE: NBRB %d
\n
"
,
dlsch0_harq
->
nb_rb
);
msg
(
"PDSCH dlsch0 UE: rballoc %x
\n
"
,
dlsch0_harq
->
rb_alloc
[
0
]);
msg
(
"PDSCH dlsch0 UE: harq_pid %d
\n
"
,
harq_pid
);
msg
(
"PDSCH dlsch0 UE: DCINdi %d
\n
"
,
dlsch0_harq
->
DCINdi
);
msg
(
"PDSCH dlsch0 UE: rvidx %d
\n
"
,
dlsch0_harq
->
rvidx
);
msg
(
"PDSCH dlsch0 UE: TBS %d
\n
"
,
dlsch0_harq
->
TBS
);
msg
(
"PDSCH dlsch0 UE: mcs %d
\n
"
,
dlsch0_harq
->
mcs
);
msg
(
"PDSCH dlsch0 UE: pwr_off %d
\n
"
,
dlsch0_harq
->
dl_power_off
);
printf
(
"PDSCH dlsch0 UE: rnti %x
\n
"
,
dlsch
[
0
]
->
rnti
);
printf
(
"PDSCH dlsch0 UE: NBRB %d
\n
"
,
dlsch0_harq
->
nb_rb
);
printf
(
"PDSCH dlsch0 UE: rballoc %x
\n
"
,
dlsch0_harq
->
rb_alloc_even
[
0
]);
printf
(
"PDSCH dlsch0 UE: harq_pid %d
\n
"
,
harq_pid
);
printf
(
"PDSCH dlsch0 UE: DCINdi %d
\n
"
,
dlsch0_harq
->
DCINdi
);
printf
(
"PDSCH dlsch0 UE: rvidx %d
\n
"
,
dlsch0_harq
->
rvidx
);
printf
(
"PDSCH dlsch0 UE: TBS %d
\n
"
,
dlsch0_harq
->
TBS
);
printf
(
"PDSCH dlsch0 UE: mcs %d
\n
"
,
dlsch0_harq
->
mcs
);
printf
(
"PDSCH dlsch0 UE: pwr_off %d
\n
"
,
dlsch0_harq
->
dl_power_off
);
}
#endif
//
#endif
dlsch
[
0
]
->
active
=
1
;
// compute DL power control parameters
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
View file @
ccef9862
...
...
@@ -662,14 +662,14 @@ int dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms,
if
((
symbol_mod
==
0
)
||
(
symbol_mod
==
(
4
-
frame_parms
->
Ncp
)))
{
if
(
frame_parms
->
mode1_flag
==
0
)
len
=
(
nb_rb
*
8
)
;
//
- (2*pbch_pss_sss_adjust/3);
len
=
(
nb_rb
*
8
)
-
(
2
*
pbch_pss_sss_adjust
/
3
);
else
len
=
(
nb_rb
*
10
)
;
//
- (5*pbch_pss_sss_adjust/6);
len
=
(
nb_rb
*
10
)
-
(
5
*
pbch_pss_sss_adjust
/
6
);
}
else
{
len
=
(
nb_rb
*
12
)
;
//
- pbch_pss_sss_adjust;
len
=
(
nb_rb
*
12
)
-
pbch_pss_sss_adjust
;
}
//
printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust);
printf
(
"dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d
\n
"
,
symbol
,
nb_rb
,
len
,
pbch_pss_sss_adjust
);
for
(
i
=
0
;
i
<
len
;
i
++
)
{
*
llr32
=
*
rxF
;
rxF
++
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/TOOLS/lte_dfts.c
View file @
ccef9862
...
...
@@ -94,7 +94,7 @@ static inline void cmacc(__m128i a,__m128i b, __m128i *re32, __m128i *im32)
cmac_tmp = _mm_sign_epi16(b,*(__m128i*)reflip);
// cmac_tmp = _mm_shufflelo_epi16(b,_MM_SHUFFLE(2,3,0,1));
// cmac_tmp = _mm_shufflehi_epi16(cmac_tmp,_MM_SHUFFLE(2,3,0,1));
cmac_tmp = _mm_shuffle_epi8(
b
,_mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2));
cmac_tmp = _mm_shuffle_epi8(
cmac_tmp
,_mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2));
cmac_tmp_im32 = _mm_madd_epi16(cmac_tmp,a);
*re32 = _mm_add_epi32(*re32,cmac_tmp_re32);
This diff is collapsed.
Click to expand it.
openair1/PHY/impl_defs_top.h
View file @
ccef9862
...
...
@@ -340,13 +340,12 @@ typedef struct {
#define NUMBER_OF_SUBBANDS_MAX 13
#define NUMBER_OF_HARQ_PID_MAX 8
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP)
#define MAX_FRAME_NUMBER 0x400
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP)
#define NUMBER_OF_eNB_MAX 1
#define NUMBER_OF_UE_MAX 4
#define NUMBER_OF_CONNECTED_eNB_MAX 3
#else
#define MAX_FRAME_NUMBER 0xFFFF
#ifdef LARGE_SCALE
#define NUMBER_OF_eNB_MAX 2
#define NUMBER_OF_UE_MAX 120
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
ccef9862
...
...
@@ -2288,7 +2288,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
input_buffer_length
=
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
harq_processes
[
harq_pid
]
->
TBS
/
8
;
#ifdef DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %"
PRIu8
"][PDSCH %"
PRIx16
"/%"
PRIu8
"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"
PRIu16
", G %d, nb_rb %"
PRIu16
", mcs %"
PRIu8
", pmi_alloc %"
PRIx16
", rv %"
PRIu8
" (round %"
PRIu8
")
\n
"
,
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
rnti
,
harq_pid
,
...
...
@@ -2304,7 +2304,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
pmi2hex_2Ar1
(
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
harq_processes
[
harq_pid
]
->
pmi_alloc
),
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
harq_processes
[
harq_pid
]
->
rvidx
,
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
harq_processes
[
harq_pid
]
->
round
);
#endif
//
#endif
#if defined(MESSAGE_CHART_GENERATOR_PHY)
MSC_LOG_TX_MESSAGE
(
MSC_PHY_ENB
,
MSC_PHY_UE
,
...
...
@@ -3324,7 +3324,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
}
}
#ifdef DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, mcs %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
...
...
@@ -3341,7 +3341,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
phy_vars_eNB
->
lte_frame_parms
.
pusch_config_common
.
ul_ReferenceSignalsPUSCH
.
cyclicShift
,
nPRS
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
O_ACK
);
#endif
//
#endif
start_meas
(
&
phy_vars_eNB
->
ulsch_demodulation_stats
);
if
(
abstraction_flag
==
0
)
{
...
...
@@ -3387,7 +3387,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
#endif
stop_meas
(
&
phy_vars_eNB
->
ulsch_decoding_stats
);
#ifdef DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) RSSI (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
...
...
@@ -3401,7 +3401,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
o_ACK
[
0
],
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
o_ACK
[
1
],
ret
);
#endif //DEBUG_PHY_PROC
//
#endif //DEBUG_PHY_PROC
/*
if ((two_ues_connected==1) && (phy_vars_eNB->cooperation_flag==2)) {
for (j=0;j<phy_vars_eNB->lte_frame_parms.nb_antennas_rx;j++) {
...
...
@@ -3623,11 +3623,11 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_flag
==
1
)
{
#ifdef OPENAIR2
#ifdef DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_I
(
PHY
,
"[eNB %d][RAPROC] Frame %d Terminating ra_proc for harq %d, UE %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
harq_pid
,
i
);
#endif
//
#endif
mac_xface
->
rx_sdu
(
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
CC_id
,
frame
,
subframe
,
...
...
@@ -3660,9 +3660,9 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
phy_vars_eNB
->
eNB_UE_stats
[
i
].
mode
=
PUSCH
;
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_flag
=
0
;
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %d][RAPROC] Frame %d : RX Subframe %d Setting UE %d mode to PUSCH
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
i
);
#endif //DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %d][RAPROC] Frame %d : RX Subframe %d Setting UE %d mode to PUSCH
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
i
);
//
#endif //DEBUG_PHY_PROC
for
(
k
=
0
;
k
<
8
;
k
++
)
{
//harq_processes
for
(
j
=
0
;
j
<
phy_vars_eNB
->
dlsch_eNB
[
i
][
0
]
->
Mdlharq
;
j
++
)
{
...
...
@@ -4517,11 +4517,11 @@ void phy_procedures_eNB_lte(unsigned char subframe,PHY_VARS_eNB **phy_vars_eNB,u
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_tx
++
;
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_rx
++
;
if
(
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_tx
=
=
MAX_FRAME_NUMBER
)
// defined in impl_defs_top.h
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_tx
=
0
;
if
(
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_tx
>
=
MAX_FRAME_NUMBER
)
// defined in impl_defs_top.h
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_tx
-=
MAX_FRAME_NUMBER
;
if
(
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_rx
=
=
MAX_FRAME_NUMBER
)
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_rx
=
0
;
if
(
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_rx
>
=
MAX_FRAME_NUMBER
)
phy_vars_eNB
[
CC_id
]
->
proc
[
subframe
].
frame_rx
-=
MAX_FRAME_NUMBER
;
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_LTE
,
0
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_ue.c
View file @
ccef9862
...
...
@@ -2061,9 +2061,9 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
#endif
#ifdef DEBUG_PHY_PROC
LOG_
D
(
PHY
,
"[UE %d] Frame %d, slot %d, Mode %s: DCI found %i
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
slot_rx
,
mode_string
[
phy_vars_ue
->
UE_mode
[
eNB_id
]],
dci_cnt
);
#endif
//
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[UE %d] Frame %d, slot %d, Mode %s: DCI found %i
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
slot_rx
,
mode_string
[
phy_vars_ue
->
UE_mode
[
eNB_id
]],
dci_cnt
);
//
#endif
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
dci_received
+=
dci_cnt
;
/*
...
...
@@ -2101,10 +2101,10 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
#ifdef DEBUG_PHY_PROC
if
(
subframe_rx
==
9
)
{
//( frame_rx % 100 == 0) {
LOG_
D
(
PHY
,
"frame %d, subframe %d, rnti %x: dci %d/%d
\n
"
,
frame_rx
,
subframe_rx
,
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
crnti
,
i
,
dci_cnt
);
//
if (subframe_rx == 9) { //( frame_rx % 100 == 0) {
LOG_
I
(
PHY
,
"frame %d, subframe %d, rnti %x: dci %d/%d
\n
"
,
frame_rx
,
subframe_rx
,
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
crnti
,
i
,
dci_cnt
);
//dump_dci(&phy_vars_ue->lte_frame_parms, &dci_alloc_rx[i]);
}
//
}
#endif
...
...
@@ -2622,13 +2622,13 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
active
=
0
;
#ifdef DEBUG_PHY_PROC
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] Frame %d subframe %d Scheduling DLSCH decoding
\n
"
,
phy_vars_ue
->
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
harq_pid
,
(
subframe_prev
==
9
)
?
(
frame_rx
-
1
)
:
frame_rx
,
subframe_prev
);
#endif
//
#endif
if
(
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
])
{
if
(
abstraction_flag
==
0
)
{
...
...
@@ -2674,17 +2674,18 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac
if
(
ret
==
(
1
+
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
max_turbo_iterations
))
{
phy_vars_ue
->
dlsch_errors
[
eNB_id
]
++
;
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] Frame %d subframe %d DLSCH in error (rv %d,mcs %d)
\n
"
,
//
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] Frame %d subframe %d DLSCH in error (rv %d,mcs %d
,TBS %d
)
\n
"
,
phy_vars_ue
->
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
harq_pid
,
frame_rx
,
subframe_prev
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
harq_pid
]
->
rvidx
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
harq_pid
]
->
mcs
);
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
harq_pid
]
->
mcs
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
harq_pid
]
->
TBS
);
// if (abstraction_flag ==0 )
//
dump_dlsch(phy_vars_ue,eNB_id,subframe_prev,harq_pid);
//
mac_xface->macphy_exit("");
#endif
dump_dlsch
(
phy_vars_ue
,
eNB_id
,
subframe_prev
,
harq_pid
);
mac_xface
->
macphy_exit
(
""
);
//
#endif
}
else
{
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] Frame %d subframe %d (slot_rx %d): Received DLSCH (rv %d,mcs %d,TBS %d)
\n
"
,
phy_vars_ue
->
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
ccef9862
...
...
@@ -540,6 +540,8 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
}
LOG_I
(
MAC
,
"FrameP %d, subframeP %d : Scheduling CCEs
\n
"
,
frameP
,
subframeP
);
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
allocate_CCEs
(
module_idP
,
CC_id
,
subframeP
,
0
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
ccef9862
...
...
@@ -604,7 +604,7 @@ void schedule_RA(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP,un
(
void
*
)
&
RA_template
->
RA_alloc_pdu2
[
0
],
RA_template
->
rnti
,
RA_template
->
RA_dci_size_bytes2
,
1
,
2
,
RA_template
->
RA_dci_size_bits2
,
RA_template
->
RA_dci_fmt2
,
0
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
ccef9862
...
...
@@ -955,7 +955,7 @@ int get_nCCE_offset(int *CCE_table,
break
;
}
// LOG_I(PHY
,"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d\n",rnti,Yk,nCCE,nCCE/L,nb_candidates);
LOG_I
(
MAC
,
"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d
\n
"
,
rnti
,
Yk
,
nCCE
,
nCCE
/
L
,
nb_candidates
);
for
(
m
=
0
;
m
<
nb_candidates
;
m
++
)
{
search_space_free
=
1
;
...
...
@@ -994,7 +994,7 @@ int allocate_CCEs(int module_idP,
int
allocation_is_feasible
=
1
;
DCI_ALLOC_t
*
dci_alloc
;
LOG_I
(
MAC
,
"Allocate CCEs subframe %d, test %d
\n
"
,
subframeP
,
test_onlyP
);
LOG_I
(
MAC
,
"Allocate CCEs subframe %d, test %d
: (common %d,uspec %d)
\n
"
,
subframeP
,
test_onlyP
,
DCI_pdu
->
Num_common_dci
,
DCI_pdu
->
Num_ue_spec_dci
);
init_CCE_table
(
module_idP
,
CC_idP
);
DCI_pdu
->
nCCE
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
ccef9862
...
...
@@ -223,7 +223,7 @@ void rx_sdu(
payload_ptr
[
0
],
payload_ptr
[
1
],
payload_ptr
[
2
],
payload_ptr
[
3
],
payload_ptr
[
4
],
payload_ptr
[
5
],
rntiP
);
for
(
ii
=
0
;
ii
<
NB_RA_PROC_MAX
;
ii
++
)
{
LOG_D
(
MAC
,
"[eNB %d][RAPROC] CC_id %
p
Checking proc %d : rnti (%x, %x), active %d
\n
"
,
LOG_D
(
MAC
,
"[eNB %d][RAPROC] CC_id %
d
Checking proc %d : rnti (%x, %x), active %d
\n
"
,
enb_mod_idP
,
CC_idP
,
ii
,
eNB
->
common_channels
[
CC_idP
].
RA_template
[
ii
].
rnti
,
rntiP
,
eNB
->
common_channels
[
CC_idP
].
RA_template
[
ii
].
RA_active
);
...
...
@@ -236,7 +236,7 @@ void rx_sdu(
if
(
UE_id
<
0
)
{
memcpy
(
&
eNB
->
common_channels
[
CC_idP
].
RA_template
[
ii
].
cont_res_id
[
0
],
payload_ptr
,
6
);
LOG_I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3: length %d, offset %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
i
],
payload_ptr
-
sduP
);
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
payload_ptr
-
sduP
);
if
((
UE_id
=
add_new_ue
(
enb_mod_idP
,
CC_idP
,
eNB
->
common_channels
[
CC_idP
].
RA_template
[
ii
].
rnti
,
harq_pidP
))
==
-
1
)
{
mac_xface
->
macphy_exit
(
"[MAC][eNB] Max user count reached
\n
"
);
...
...
@@ -246,7 +246,7 @@ void rx_sdu(
enb_mod_idP
,
CC_idP
,
frameP
,
eNB
->
common_channels
[
CC_idP
].
RA_template
[
ii
].
rnti
,
UE_id
);
}
else
{
LOG_I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3 from already registered UE %d: length %d, offset %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
UE_id
,
rx_lengths
[
i
i
],
payload_ptr
-
sduP
);
enb_mod_idP
,
CC_idP
,
frameP
,
UE_id
,
rx_lengths
[
i
],
payload_ptr
-
sduP
);
// kill RA procedure
}
...
...
@@ -258,7 +258,7 @@ void rx_sdu(
rntiP
,
CCCH
,
(
uint8_t
*
)
payload_ptr
,
rx_lengths
[
i
i
],
rx_lengths
[
i
],
ENB_FLAG_YES
,
enb_mod_idP
,
0
);
...
...
@@ -297,17 +297,17 @@ void rx_sdu(
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
]);
mac_rlc_data_ind
(
enb_mod_idP
,
rntiP
,
enb_mod_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
rx_lcids
[
i
],
(
char
*
)
payload_ptr
,
rx_lengths
[
i
],
1
,
NULL
);
//(unsigned int*)crc_status);
enb_mod_idP
,
rntiP
,
enb_mod_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
rx_lcids
[
i
],
(
char
*
)
payload_ptr
,
rx_lengths
[
i
],
1
,
NULL
);
//(unsigned int*)crc_status);
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_pdu_rx
[
rx_lcids
[
i
]]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_bytes_rx
[
rx_lcids
[
i
]]
+=
rx_lengths
[
i
];
}
...
...
@@ -732,6 +732,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
continue
;
// break;
}
printf
(
"UE %d/%x is feasible, mode %s
\n
"
,
UE_id
,
rnti
,
mode_string
[
eNB_UE_stats
->
mode
]);
if
(
eNB_UE_stats
->
mode
==
PUSCH
)
{
// ue has a ulsch channel
...
...
This diff is collapsed.
Click to expand it.
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