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
7c985d86
Commit
7c985d86
authored
Mar 03, 2021
by
frtabu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cpu load measurements enhancements
parent
2bfaedcd
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
103 deletions
+11
-103
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+9
-58
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+0
-33
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+0
-8
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+2
-4
No files found.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
7c985d86
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
View file @
7c985d86
...
...
@@ -163,9 +163,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
// int avg_0[2];
// int avg_1[2];
#if UE_TIMING_TRACE
uint8_t
slot
=
0
;
#endif
unsigned
char
aatx
=
0
,
aarx
=
0
;
...
...
@@ -331,12 +329,10 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
DevAssert
(
dlsch1_harq
);
}
#if UE_TIMING_TRACE
if
(
symbol
>
ue
->
frame_parms
.
symbols_per_slot
>>
1
)
{
slot
=
1
;
}
#endif
#ifdef DEBUG_HARQ
printf
(
"Demod dlsch0_harq->pmi_alloc %d
\n
"
,
dlsch0_harq
->
pmi_alloc
);
...
...
@@ -346,9 +342,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
uint8_t
config_type
=
dlsch0_harq
->
dmrsConfigType
;
if
(
beamforming_mode
==
0
)
{
//No beamforming
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
if
(
dlsch0_harq
->
Nl
>
1
)
//More than or equal 2 layers
nb_rb
=
nr_dlsch_extract_rbs_multiple
(
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
,
pdsch_vars
[
gNB_id
]
->
dl_ch_estimates
,
...
...
@@ -389,7 +383,6 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
len
=
(
pilots
==
1
)
?
((
config_type
==
NFAPI_NR_DMRS_TYPE1
)
?
nb_rb
*
(
12
-
6
*
dlsch0_harq
->
n_dmrs_cdm_groups
)
:
nb_rb
*
(
12
-
4
*
dlsch0_harq
->
n_dmrs_cdm_groups
))
:
(
nb_rb
*
12
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d type %d: Pilot/Data extraction %5.2f
\n
"
,
...
...
@@ -398,11 +391,8 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d type %d: Pilot/Data extraction %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
type
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
n_tx
=
dlsch0_harq
->
Nl
;
n_rx
=
frame_parms
->
nb_antennas_rx
;
...
...
@@ -416,18 +406,13 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
len
,
nb_rb_pdsch
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d: Channel Scale %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d: Channel Scale %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
if
(
first_symbol_flag
==
1
)
{
if
(
beamforming_mode
==
0
){
nr_dlsch_channel_level
(
pdsch_vars
[
gNB_id
]
->
dl_ch_estimates_ext
,
...
...
@@ -482,19 +467,14 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
}
#endif
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
first_symbol_flag
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
first_symbol_flag
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
// Now channel compensation
if
(
dlsch0_harq
->
mimo_mode
<
NR_DUALSTREAM
)
{
nr_dlsch_channel_compensation
(
pdsch_vars
[
gNB_id
]
->
rxdataF_ext
,
...
...
@@ -539,18 +519,13 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
0
);
}
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
pdsch_vars
[
gNB_id
]
->
log2_maxh
,
proc
->
channel_level
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
pdsch_vars
[
gNB_id
]
->
log2_maxh
,
proc
->
channel_level
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
// MRC
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
if
(
frame_parms
->
nb_antennas_rx
>
1
)
{
if
(
dlsch0_harq
->
mimo_mode
<
NR_DUALSTREAM
)
{
...
...
@@ -603,19 +578,13 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
//i_mod should have been passed as a parameter
}
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d: Channel Combine %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d: Channel Combine %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#endif
/* Store the valid DL RE's */
pdsch_vars
[
gNB_id
]
->
dl_valid_re
[
symbol
-
1
]
=
len
;
...
...
@@ -692,14 +661,12 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
}
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
]);
#if DISABLE_LOG_X
printf
(
"[AbsSFN %u.%d] Slot%d Symbol %d: LLR Computation %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %u.%d] Slot%d Symbol %d: LLR Computation %5.2f
\n
"
,
frame
,
nr_slot_rx
,
slot
,
symbol
,
ue
->
generic_stat_bis
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
// Please keep it: useful for debugging
#ifdef DEBUG_PDSCH_RX
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
7c985d86
...
...
@@ -126,15 +126,11 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
// initialization of structure
current_ssb
=
create_ssb_node
(
l
,
hf
);
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
// computing correlation between received DMRS symbols and transmitted sequence for current i_ssb and n_hf
for
(
int
i
=
pbch_initial_symbol
;
i
<
pbch_initial_symbol
+
3
;
i
++
)
nr_pbch_dmrs_correlation
(
ue
,
proc
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
current_ssb
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
current_ssb
->
metric
=
current_ssb
->
c_re
*
current_ssb
->
c_re
+
current_ssb
->
c_im
*
current_ssb
->
c_im
;
...
...
@@ -150,15 +146,11 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
NR_UE_SSB
*
temp_ptr
=
best_ssb
;
while
(
ret
!=
0
&&
temp_ptr
!=
NULL
)
{
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
// computing channel estimation for selected best ssb
for
(
int
i
=
pbch_initial_symbol
;
i
<
pbch_initial_symbol
+
3
;
i
++
)
nr_pbch_channel_estimation
(
ue
,
proc
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
temp_ptr
->
i_ssb
,
temp_ptr
->
n_hf
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
ret
=
nr_rx_pbch
(
ue
,
proc
,
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
7c985d86
...
...
@@ -645,9 +645,7 @@ int nr_ue_pdcch_procedures(uint8_t gNB_id,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PDCCH_PROCEDURES, VCD_FUNCTION_IN);
#if UE_TIMING_TRACE
start_meas(&ue->dlsch_rx_pdcch_stats);
#endif
start_meas(&ue->dlsch_rx_pdcch_stats);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH, VCD_FUNCTION_IN);
#ifdef NR_PDCCH_SCHED_DEBUG
...
...
@@ -987,7 +985,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
#endif
start_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
start_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
if
(
dlsch_parallel
)
{
ret
=
nr_dlsch_decoding_mthread
(
ue
,
...
...
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