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
wangjie
OpenXG-RAN
Commits
7f4ec782
Commit
7f4ec782
authored
Jun 18, 2016
by
Rohit Gupta
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into feature-34-test_framework
parents
c00fae87
031e6a02
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
462 additions
and
208 deletions
+462
-208
common/utils/T/T_defs.h
common/utils/T/T_defs.h
+2
-2
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+393
-141
common/utils/T/tracee/tracee.c
common/utils/T/tracee/tracee.c
+1
-1
common/utils/T/tracer/enb.c
common/utils/T/tracer/enb.c
+43
-42
common/utils/T/tracer/textlog.c
common/utils/T/tracer/textlog.c
+1
-1
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+1
-1
openair1/PHY/LTE_TRANSPORT/phich.c
openair1/PHY/LTE_TRANSPORT/phich.c
+1
-1
openair1/PHY/LTE_TRANSPORT/pucch.c
openair1/PHY/LTE_TRANSPORT/pucch.c
+2
-2
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
+1
-1
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+9
-9
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+8
-7
No files found.
common/utils/T/T_defs.h
View file @
7f4ec782
...
...
@@ -29,10 +29,10 @@ typedef struct {
#define T_SHM_FILENAME "/T_shm_segment"
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS 1
39
#define VCD_NUM_FUNCTIONS 1
46
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES
45
#define VCD_NUM_VARIABLES
99
/* first VCD function (to be kept up to date! see in T_messages.txt) */
#define VCD_FIRST_FUNCTION ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP)
...
...
common/utils/T/T_messages.txt
View file @
7f4ec782
This diff is collapsed.
Click to expand it.
common/utils/T/tracee/tracee.c
View file @
7f4ec782
...
...
@@ -9,7 +9,7 @@ int main(void)
T_connect_to_tracer
(
"127.0.0.1"
,
2020
);
while
(
1
)
{
getchar
();
T
(
T_PUCCH_1AB_IQ
,
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
0
));
T
(
T_
ENB_PHY_
PUCCH_1AB_IQ
,
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
0
));
frame
++
;
}
return
0
;
...
...
common/utils/T/tracer/enb.c
View file @
7f4ec782
...
...
@@ -129,7 +129,7 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
widget_add_child
(
g
,
line
,
input_signal_plot
,
-
1
);
xy_plot_set_range
(
g
,
input_signal_plot
,
0
,
7680
*
10
,
20
,
70
);
input_signal_log
=
new_framelog
(
h
,
database
,
"ENB_INPUT_SIGNAL"
,
"subframe"
,
"rxdata"
);
"ENB_
PHY_
INPUT_SIGNAL"
,
"subframe"
,
"rxdata"
);
/* a skip value of 10 means to process 1 frame over 10, that is
* more or less 10 frames per second
*/
...
...
@@ -151,40 +151,40 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
new_color
(
g
,
i
==
0
||
i
==
4
?
"#aaf"
:
"#eee"
));
timeview
=
new_view_time
(
3600
,
10
,
g
,
timeline_plot
);
/* DL tick logging */
timelog
=
new_timelog
(
h
,
database
,
"ENB_DL_TICK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
DL_TICK"
);
subview
=
new_subview_time
(
timeview
,
0
,
new_color
(
g
,
"#77c"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* DL DCI logging */
timelog
=
new_timelog
(
h
,
database
,
"ENB_DLSCH_UE_DCI"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_DCI"
);
subview
=
new_subview_time
(
timeview
,
1
,
new_color
(
g
,
"#228"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* DL ACK */
timelog
=
new_timelog
(
h
,
database
,
"ENB_DLSCH_UE_ACK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_ACK"
);
subview
=
new_subview_time
(
timeview
,
2
,
new_color
(
g
,
"#282"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* DL NACK */
timelog
=
new_timelog
(
h
,
database
,
"ENB_DLSCH_UE_NACK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_NACK"
);
subview
=
new_subview_time
(
timeview
,
3
,
new_color
(
g
,
"#f22"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* UL tick logging */
timelog
=
new_timelog
(
h
,
database
,
"ENB_UL_TICK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
UL_TICK"
);
subview
=
new_subview_time
(
timeview
,
4
,
new_color
(
g
,
"#77c"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* UL DCI logging */
timelog
=
new_timelog
(
h
,
database
,
"ENB_ULSCH_UE_DCI"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_DCI"
);
subview
=
new_subview_time
(
timeview
,
5
,
new_color
(
g
,
"#228"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* UL retransmission without DCI logging */
timelog
=
new_timelog
(
h
,
database
,
"ENB
_ULSCH_UE_NO_DCI_RETRANSMISSION"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_PHY
_ULSCH_UE_NO_DCI_RETRANSMISSION"
);
subview
=
new_subview_time
(
timeview
,
5
,
new_color
(
g
,
"#f22"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* UL ACK */
timelog
=
new_timelog
(
h
,
database
,
"ENB_ULSCH_UE_ACK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_ACK"
);
subview
=
new_subview_time
(
timeview
,
6
,
new_color
(
g
,
"#282"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
/* UL NACK */
timelog
=
new_timelog
(
h
,
database
,
"ENB_ULSCH_UE_NACK"
);
timelog
=
new_timelog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_NACK"
);
subview
=
new_subview_time
(
timeview
,
7
,
new_color
(
g
,
"#f22"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
...
...
@@ -212,72 +212,73 @@ static void enb_main_gui(enb_gui *e, gui *g, event_handler *h, void *database)
logger_add_view
(
timelog
,
subview
);
/* DL harq pids */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
timelog
=
new_ticklog
(
h
,
database
,
"ENB_DLSCH_UE_DCI"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_DCI"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
1
,
new_color
(
g
,
"#55f"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_DLSCH_UE_DCI"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
DLSCH_UE_DCI"
,
i
));
}
/* DL ACK */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
timelog
=
new_ticklog
(
h
,
database
,
"ENB_DLSCH_UE_ACK"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_ACK"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
1
,
new_color
(
g
,
"#282"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_DLSCH_UE_ACK"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
DLSCH_UE_ACK"
,
i
));
}
/* DL NACK */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
timelog
=
new_ticklog
(
h
,
database
,
"ENB_DLSCH_UE_NACK"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
DLSCH_UE_NACK"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
1
,
new_color
(
g
,
"#f22"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_DLSCH_UE_NACK"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
DLSCH_UE_NACK"
,
i
));
}
/* UL harq pids */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
/* first transmission */
timelog
=
new_ticklog
(
h
,
database
,
"ENB_ULSCH_UE_DCI"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_DCI"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
9
+
1
,
new_color
(
g
,
"#55f"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_ULSCH_UE_DCI"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
ULSCH_UE_DCI"
,
i
));
/* retransmission */
timelog
=
new_ticklog
(
h
,
database
,
"ENB_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
"frame"
,
"subframe"
);
timelog
=
new_ticklog
(
h
,
database
,
"
ENB_PHY_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
"
frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
9
+
1
,
new_color
(
g
,
"#99f"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
i
));
ticktime_filter
(
database
,
"ENB_PHY_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
i
));
}
/* UL ACK */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
timelog
=
new_ticklog
(
h
,
database
,
"ENB_ULSCH_UE_ACK"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_ACK"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
9
+
1
,
new_color
(
g
,
"#282"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_ULSCH_UE_ACK"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
ULSCH_UE_ACK"
,
i
));
}
/* UL NACK */
for
(
i
=
0
;
i
<
8
;
i
++
)
{
timelog
=
new_ticklog
(
h
,
database
,
"ENB_ULSCH_UE_NACK"
,
timelog
=
new_ticklog
(
h
,
database
,
"ENB_
PHY_
ULSCH_UE_NACK"
,
"frame"
,
"subframe"
);
subview
=
new_subview_ticktime
(
timeview
,
i
+
9
+
1
,
new_color
(
g
,
"#f22"
),
3600
*
1000
);
logger_add_view
(
timelog
,
subview
);
logger_set_filter
(
timelog
,
ticktime_filter
(
database
,
"ENB_ULSCH_UE_NACK"
,
i
));
ticktime_filter
(
database
,
"ENB_
PHY_
ULSCH_UE_NACK"
,
i
));
}
/* phy/mac/rlc/pdcp/rrc textlog */
...
...
@@ -446,30 +447,30 @@ int main(int n, char **v)
free
(
desc
);
}
on_off
(
database
,
"ENB_INPUT_SIGNAL"
,
is_on
,
1
);
on_off
(
database
,
"ENB_DL_TICK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_DLSCH_UE_DCI"
,
is_on
,
1
);
on_off
(
database
,
"ENB_DLSCH_UE_ACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_DLSCH_UE_NACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_UL_TICK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_ULSCH_UE_DCI"
,
is_on
,
1
);
on_off
(
database
,
"ENB_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
is_on
,
1
);
on_off
(
database
,
"ENB_ULSCH_UE_ACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_ULSCH_UE_NACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
INPUT_SIGNAL"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
DL_TICK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
DLSCH_UE_DCI"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
DLSCH_UE_ACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
DLSCH_UE_NACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
UL_TICK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
ULSCH_UE_DCI"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
ULSCH_UE_NO_DCI_RETRANSMISSION"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
ULSCH_UE_ACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_
PHY_
ULSCH_UE_NACK"
,
is_on
,
1
);
on_off
(
database
,
"ENB_MASTER_TICK"
,
is_on
,
1
);
on_off
(
database
,
"LEGACY_RRC_INFO"
,
is_on
,
1
);
on_off
(
database
,
"LEGACY_RRC_ERROR"
,
is_on
,
1
);
on_off
(
database
,
"LEGACY_RRC_WARNING"
,
is_on
,
1
);
view_add_log
(
eg
.
phyview
,
"ENB_DLSCH_UE_DCI"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_DLSCH_UE_ACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_DLSCH_UE_NACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_ULSCH_UE_DCI"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_ULSCH_UE_NO_DCI_RETRANSMISSION"
,
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
DLSCH_UE_DCI"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
DLSCH_UE_ACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
DLSCH_UE_NACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
ULSCH_UE_DCI"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
ULSCH_UE_NO_DCI_RETRANSMISSION"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_ULSCH_UE_ACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_ULSCH_UE_NACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
ULSCH_UE_ACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
phyview
,
"ENB_
PHY_
ULSCH_UE_NACK"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
macview
,
"ENB_MAC_UE_DL_SDU"
,
h
,
database
,
is_on
);
view_add_log
(
eg
.
macview
,
"ENB_MAC_UE_UL_SCHEDULE"
,
h
,
database
,
is_on
);
...
...
common/utils/T/tracer/textlog.c
View file @
7f4ec782
...
...
@@ -159,7 +159,7 @@ int main(int n, char **v)
char
*
name
,
*
desc
;
database_get_generic_description
(
database
,
i
,
&
name
,
&
desc
);
textlog
=
new_textlog
(
h
,
database
,
name
,
desc
);
// "ENB_UL_CHANNEL_ESTIMATE",
// "ENB_
PHY_
UL_CHANNEL_ESTIMATE",
// "ev: {} eNB_id [eNB_ID] frame [frame] subframe [subframe]");
logger_add_view
(
textlog
,
out
);
free
(
name
);
...
...
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
7f4ec782
...
...
@@ -334,7 +334,7 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *phy_vars_eNB,
#if T_TRACER
if
(
aa
==
0
)
T
(
T_ENB_UL_CHANNEL_ESTIMATE
,
T_INT
(
eNB_id
),
T_INT
(
UE_id
),
T
(
T_ENB_
PHY_
UL_CHANNEL_ESTIMATE
,
T_INT
(
eNB_id
),
T_INT
(
UE_id
),
T_INT
(
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_rx
),
T_INT
(
subframe
),
T_INT
(
0
),
T_BUFFER
(
ul_ch_estimates_time
[
0
],
512
*
4
));
#endif
...
...
openair1/PHY/LTE_TRANSPORT/phich.c
View file @
7f4ec782
...
...
@@ -1506,7 +1506,7 @@ void generate_phich_top(PHY_VARS_eNB *phy_vars_eNB,
if
((
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
dci_alloc
==
0
)
&&
(
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
rar_alloc
==
0
)
)
{
if
(
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
phich_ACK
==
0
)
{
T
(
T_ENB_ULSCH_UE_NO_DCI_RETRANSMISSION
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
),
T
(
T_ENB_
PHY_
ULSCH_UE_NO_DCI_RETRANSMISSION
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
ulsch_eNB
[
UE_id
]
->
rnti
),
T_INT
(
harq_pid
));
LOG_D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d, subframe %d : PHICH NACK / (no format0 DCI) Setting subframe_scheduling_flag
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
);
...
...
openair1/PHY/LTE_TRANSPORT/pucch.c
View file @
7f4ec782
...
...
@@ -799,7 +799,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB,
phy_vars_eNB
->
pucch1_stats_thres
[
UE_id
][(
subframe
<<
10
)
+
phy_vars_eNB
->
pucch1_stats_cnt
[
UE_id
][
subframe
]]
=
sigma2_dB
+
pucch1_thres
;
phy_vars_eNB
->
pucch1_stats_cnt
[
UE_id
][
subframe
]
=
(
phy_vars_eNB
->
pucch1_stats_cnt
[
UE_id
][
subframe
]
+
1
)
&
1023
;
T
(
T_PUCCH_1_ENERGY
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
UE_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T
(
T_
ENB_PHY_
PUCCH_1_ENERGY
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
UE_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
stat_max
),
T_INT
(
sigma2_dB
+
pucch1_thres
));
/*
...
...
@@ -1044,7 +1044,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB,
phy_vars_eNB
->
pucch1ab_stats_cnt
[
UE_id
][
subframe
]
=
(
phy_vars_eNB
->
pucch1ab_stats_cnt
[
UE_id
][
subframe
]
+
1
)
&
1023
;
/* frame not available here - set to -1 for the moment */
T
(
T_PUCCH_1AB_IQ
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
UE_id
),
T_INT
(
-
1
),
T_INT
(
subframe
),
T_INT
(
stat_re
),
T_INT
(
stat_im
));
T
(
T_
ENB_PHY_
PUCCH_1AB_IQ
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
UE_id
),
T_INT
(
-
1
),
T_INT
(
subframe
),
T_INT
(
stat_re
),
T_INT
(
stat_im
));
*
payload
=
(
stat_re
<
0
)
?
1
:
0
;
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
View file @
7f4ec782
...
...
@@ -1840,7 +1840,7 @@ void rx_ulsch(PHY_VARS_eNB *phy_vars_eNB,
#endif
T
(
T_PUSCH_IQ
,
T_INT
(
eNB_id
),
T_INT
(
UE_id
),
T_INT
(
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_rx
),
T
(
T_
ENB_PHY_
PUSCH_IQ
,
T_INT
(
eNB_id
),
T_INT
(
UE_id
),
T_INT
(
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_rx
),
T_INT
(
subframe
),
T_INT
(
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
nb_rb
),
T_BUFFER
(
eNB_pusch_vars
->
rxdataF_comp
[
eNB_id
][
0
],
2
*
/* ulsch[UE_id]->harq_processes[harq_pid]->nb_rb */
frame_parms
->
N_RB_UL
*
12
*
frame_parms
->
symbols_per_tti
*
2
));
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
7f4ec782
...
...
@@ -598,7 +598,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX
,
1
);
start_meas
(
&
phy_vars_eNB
->
phy_proc_tx
);
T
(
T_ENB_DL_TICK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
T
(
T_ENB_
PHY_
DL_TICK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
// If we've dropped the UE, go back to PRACH mode for this UE
...
...
@@ -1097,7 +1097,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
phy_vars_eNB
->
Mod_id
,
DCI_pdu
->
dci_alloc
[
i
].
rnti
,
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
current_harq_pid
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
);
T
(
T_ENB_DLSCH_UE_DCI
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T
(
T_ENB_
PHY_
DLSCH_UE_DCI
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
DCI_pdu
->
dci_alloc
[
i
].
rnti
),
T_INT
(
DCI_pdu
->
dci_alloc
[
i
].
format
),
T_INT
(
phy_vars_eNB
->
dlsch_eNB
[(
int
)
UE_id
][
0
]
->
current_harq_pid
));
...
...
@@ -1151,7 +1151,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
else
UE_id
=
i
;
T
(
T_ENB_ULSCH_UE_DCI
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T
(
T_ENB_
PHY_
ULSCH_UE_DCI
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
DCI_pdu
->
dci_alloc
[
i
].
rnti
),
T_INT
(
harq_pid
));
if
(
UE_id
<
0
)
{
...
...
@@ -1878,7 +1878,7 @@ void process_HARQ_feedback(uint8_t UE_id,
dlsch
->
rnti
,
dl_harq_pid
[
m
],
M
,
m
,
mp
,
dlsch_harq_proc
->
round
);
#endif
T
(
T_ENB_DLSCH_UE_NACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
dlsch
->
rnti
),
T
(
T_ENB_
PHY_
DLSCH_UE_NACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
dlsch
->
rnti
),
T_INT
(
dl_harq_pid
[
m
]));
if
(
dlsch_harq_proc
->
round
==
0
)
...
...
@@ -1915,7 +1915,7 @@ void process_HARQ_feedback(uint8_t UE_id,
dlsch
->
rnti
,
dl_harq_pid
[
m
],
dlsch_harq_proc
->
round
);
#endif
T
(
T_ENB_DLSCH_UE_ACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
dlsch
->
rnti
),
T
(
T_ENB_
PHY_
DLSCH_UE_ACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
UE_id
),
T_INT
(
dlsch
->
rnti
),
T_INT
(
dl_harq_pid
[
m
]));
ue_stats
->
dlsch_ACK
[
dl_harq_pid
[
m
]][
dlsch_harq_proc
->
round
]
++
;
...
...
@@ -2748,9 +2748,9 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
LOG_D
(
PHY
,
"[eNB %d] Frame %d: Doing phy_procedures_eNB_RX(%d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
);
#endif
T
(
T_ENB_UL_TICK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
T
(
T_ENB_
PHY_
UL_TICK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
T
(
T_ENB_INPUT_SIGNAL
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
0
),
T
(
T_ENB_
PHY_
INPUT_SIGNAL
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
0
),
T_BUFFER
(
&
phy_vars_eNB
->
lte_eNB_common_vars
.
rxdata
[
0
][
0
][
subframe
*
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
],
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
*
4
));
...
...
@@ -2984,7 +2984,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_ULSCH_MSG3
,
0
);
if
(
ret
==
(
1
+
MAX_TURBO_ITERATIONS
))
{
T
(
T_ENB_ULSCH_UE_NACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
i
),
T_INT
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
),
T
(
T_ENB_
PHY_
ULSCH_UE_NACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
i
),
T_INT
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
),
T_INT
(
harq_pid
));
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_round_errors
[
harq_pid
][
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
]
++
;
...
...
@@ -3089,7 +3089,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
}
}
// ulsch in error
else
{
T
(
T_ENB_ULSCH_UE_ACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
i
),
T_INT
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
),
T
(
T_ENB_
PHY_
ULSCH_UE_ACK
,
T_INT
(
phy_vars_eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
i
),
T_INT
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
),
T_INT
(
harq_pid
));
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_flag
==
1
)
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
7f4ec782
...
...
@@ -862,6 +862,11 @@ void schedule_ulsch_rnti(module_id_t module_idP,
rballoc
=
mac_xface
->
computeRIV
(
frame_parms
->
N_RB_UL
,
first_rb
[
CC_id
],
rb_table
[
rb_table_index
]);
T
(
T_ENB_MAC_UE_UL_SCHEDULE
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
mcs
),
T_INT
(
first_rb
[
CC_id
]),
T_INT
(
rb_table
[
rb_table_index
]),
T_INT
(
TBS
));
// bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB)
// increment for next UE allocation
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
...
...
@@ -876,7 +881,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
module_idP
,
harq_pid
,
rnti
,
CC_id
,
frameP
,
subframeP
,
UE_id
,
mcs
,
first_rb
[
CC_id
],
rb_table
[
rb_table_index
],
rb_table_index
,
TBS
,
harq_pid
);
// adjust total UL buffer status by TBS, wait for UL sdus to do final update
LOG_D
(
MAC
,
"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d
\n
"
,
module_idP
,
CC_id
,
UE_id
,
rnti
,
UE_template
->
ul_total_buffer
,
TBS
);
if
(
UE_template
->
ul_total_buffer
>
TBS
)
...
...
@@ -1100,9 +1105,9 @@ void schedule_ulsch_rnti(module_id_t module_idP,
}
else
{
T
(
T_ENB_MAC_UE_UL_SCHEDULE
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T
(
T_ENB_MAC_UE_UL_SCHEDULE
_RETRANSMISSION
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
mcs
),
T_INT
(
first_rb
[
CC_id
]),
T_INT
(
rb_table
[
rb_table_index
]),
T_INT
(
TBS
));
T_INT
(
round
));
LOG_D
(
MAC
,
"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled (PHICH) UE %d (mcs %d, first rb %d, nb_rb %d, rb_table_index %d, TBS %d, harq_pid %d,round %d)
\n
"
,
module_idP
,
harq_pid
,
rnti
,
CC_id
,
frameP
,
subframeP
,
UE_id
,
mcs
,
...
...
@@ -1120,10 +1125,6 @@ void schedule_ulsch_rnti(module_id_t module_idP,
}
T(T_ENB_MAC_UE_UL_SCHEDULE_RETRANSMISSION, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP),
T_INT(subframeP), T_INT(harq_pid), T_INT(mcs), T_INT(first_rb[CC_id]), T_INT(rb_table[rb_table_index]),
T_INT(round));
LOG_I(MAC,"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled UE retransmission (mcs %d, first rb %d, nb_rb %d, harq_pid %d, round %d)\n",
module_idP,UE_id,rnti,CC_id,frameP,subframeP,mcs,
first_rb[CC_id],UE_template->nb_rb_ul[harq_pid],
...
...
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