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
dd4f1ab7
Commit
dd4f1ab7
authored
Sep 27, 2018
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
coarse gain cleaning
parent
7d602d5c
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
723 additions
and
925 deletions
+723
-925
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+2
-2
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
+1
-1
openair1/PHY/TOOLS/time_meas.c
openair1/PHY/TOOLS/time_meas.c
+2
-2
openair1/PHY/TOOLS/time_meas.h
openair1/PHY/TOOLS/time_meas.h
+0
-6
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+2
-2
openair1/SCHED/ru_procedures.c
openair1/SCHED/ru_procedures.c
+4
-4
openair1/SIMULATION/LTE_PHY/ulsim.c
openair1/SIMULATION/LTE_PHY/ulsim.c
+677
-908
openair2/UTIL/LISTS/list.h
openair2/UTIL/LISTS/list.h
+35
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
dd4f1ab7
...
...
@@ -185,7 +185,7 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${CMAKE_CU
# these changes are related to hardcoded path to include .h files
add_definitions
(
-DCMAKER
)
set
(
CMAKE_C_FLAGS_DEBUG
"
${
CMAKE_C_FLAGS
}
-g -DMALLOC_CHECK_=3"
)
set
(
CMAKE_C_FLAGS_RELWITHDEBINFO
"
${
CMAKE_C_FLAGS
}
-g -DMALLOC_CHECK_=3 -O
2
"
)
set
(
CMAKE_C_FLAGS_RELWITHDEBINFO
"
${
CMAKE_C_FLAGS
}
-g -DMALLOC_CHECK_=3 -O
0
"
)
set
(
GIT_BRANCH
"UNKNOWN"
)
...
...
@@ -2126,7 +2126,7 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
target_link_libraries
(
${
myExe
}
-Wl,--start-group SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY PHY_UE PHY_RU LFDS
${
ITTI_LIB
}
LFDS7 -Wl,--end-group
pthread m rt
${
CONFIG_LIBRARIES
}
${
ATLAS_LIBRARIES
}
${
XFORMS_LIBRARIES
}
${
T_LIB
}
dl
pthread m rt
${
CONFIG_LIBRARIES
}
${
ATLAS_LIBRARIES
}
${
XFORMS_LIBRARIES
}
${
T_LIB
}
dl
)
endforeach
(
myExe
)
...
...
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
View file @
dd4f1ab7
...
...
@@ -782,7 +782,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
#if DISABLE_LOG_X
printf
(
"[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f
\n
"
,
frame
,
subframe
,
slot
,
symbol
,
pdsch_vars
[
eNB_id
]
->
log2_maxh
,
proc
->
channel_level
,
ue
->
generic_stat_bis
[
ue
->
current_thread_id
[
subframe
]][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
"[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d
channel_level %d: Channel Comp %5.2f
\n
"
,
frame
,
subframe
,
slot
,
symbol
,
pdsch_vars
[
eNB_id
]
->
log2_maxh
,
proc
->
channel_level
,
ue
->
generic_stat_bis
[
ue
->
current_thread_id
[
subframe
]][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_I
(
PHY
,
"[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d
Channel Comp %5.2f
\n
"
,
frame
,
subframe
,
slot
,
symbol
,
pdsch_vars
[
eNB_id
]
->
log2_maxh
,
ue
->
generic_stat_bis
[
ue
->
current_thread_id
[
subframe
]][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#endif
// MRC
...
...
openair1/PHY/TOOLS/time_meas.c
View file @
dd4f1ab7
...
...
@@ -52,8 +52,8 @@ void print_meas_now(time_stats_t *ts, const char* name, FILE* file_name){
if
(
ts
->
trials
>
0
)
{
//fprintf(file_name,"Name %25s: Processing %15.3f ms for SF %d, diff_now %15.3f \n", name,(ts->
diff_now/(cpu_freq_GHz*1000000.0)),subframe,ts->diff_now
);
fprintf
(
file_name
,
"%15.3f us, diff_now %15.3f
\n
"
,(
ts
->
diff_now
/
(
cpu_freq_GHz
*
1000
.
0
)),(
double
)
ts
->
diff_now
);
//fprintf(file_name,"Name %25s: Processing %15.3f ms for SF %d, diff_now %15.3f \n", name,(ts->
p_time/(cpu_freq_GHz*1000000.0)),subframe,ts->p_time
);
fprintf
(
file_name
,
"%15.3f us, diff_now %15.3f
\n
"
,(
ts
->
p_time
/
(
cpu_freq_GHz
*
1000
.
0
)),(
double
)
ts
->
p_time
);
}
}
...
...
openair1/PHY/TOOLS/time_meas.h
View file @
dd4f1ab7
...
...
@@ -40,7 +40,6 @@ typedef struct {
long
long
in
;
long
long
diff
;
long
long
diff_now
;
long
long
p_time
;
/*!< \brief absolute process duration */
long
long
diff_square
;
/*!< \brief process duration square */
long
long
max
;
...
...
@@ -50,7 +49,6 @@ typedef struct {
#elif defined(__arm__)
typedef
struct
{
uint32_t
in
;
uint32_t
diff_now
;
uint32_t
diff
;
uint32_t
p_time
;
/*!< \brief absolute process duration */
uint32_t
diff_square
;
/*!< \brief process duration square */
...
...
@@ -116,9 +114,6 @@ static inline void stop_meas(time_stats_t *ts)
if
(
opp_enabled
)
{
long
long
out
=
rdtsc_oai
();
ts
->
diff_now
=
(
out
-
ts
->
in
);
ts
->
diff_now
=
(
out
-
ts
->
in
);
ts
->
diff
+=
(
out
-
ts
->
in
);
/// process duration is the difference between two clock points
ts
->
p_time
=
(
out
-
ts
->
in
);
...
...
@@ -135,7 +130,6 @@ static inline void reset_meas(time_stats_t *ts) {
ts
->
trials
=
0
;
ts
->
diff
=
0
;
ts
->
diff_now
=
0
;
ts
->
p_time
=
0
;
ts
->
diff_square
=
0
;
ts
->
max
=
0
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
dd4f1ab7
...
...
@@ -412,7 +412,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
&
eNB
->
dlsch_turbo_encoding_wakeup_stats1
,
&
eNB
->
dlsch_interleaving_stats
);
stop_meas
(
&
eNB
->
dlsch_encoding_stats
);
if
(
eNB
->
dlsch_encoding_stats
.
diff_now
>
500
*
3000
&&
opp_enabled
==
1
)
if
(
eNB
->
dlsch_encoding_stats
.
p_time
>
500
*
3000
&&
opp_enabled
==
1
)
{
print_meas_now
(
&
eNB
->
dlsch_encoding_stats
,
"total coding"
,
stderr
);
}
...
...
@@ -1337,7 +1337,7 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
ret
,
ulsch_harq
->
cqi_crc_status
,
ulsch_harq
->
O_ACK
,
eNB
->
ulsch_decoding_stats
.
diff_now
,
eNB
->
ulsch_decoding_stats
.
max
);
eNB
->
ulsch_decoding_stats
.
p_time
,
eNB
->
ulsch_decoding_stats
.
max
);
//compute the expected ULSCH RX power (for the stats)
ulsch_harq
->
delta_TF
=
get_hundred_times_delta_IF_eNB
(
eNB
,
i
,
harq_pid
,
0
);
// 0 means bw_factor is not considered
...
...
openair1/SCHED/ru_procedures.c
View file @
dd4f1ab7
...
...
@@ -160,7 +160,7 @@ static void *feptx_thread(void *param) {
exit_fun
(
"ERROR pthread_cond_signal"
);
return
NULL
;
}
/*if(opp_enabled == 1 && ru->ofdm_mod_wakeup_stats.
diff_now
>30*3000){
/*if(opp_enabled == 1 && ru->ofdm_mod_wakeup_stats.
p_time
>30*3000){
print_meas_now(&ru->ofdm_mod_wakeup_stats,"fep wakeup",stderr);
printf("delay in fep wakeup in frame_tx: %d subframe_rx: %d \n",proc->frame_tx,proc->subframe_tx);
}*/
...
...
@@ -220,7 +220,7 @@ void feptx_ofdm_2thread(RU_t *ru) {
start_meas
(
&
ru
->
ofdm_mod_wait_stats
);
wait_on_busy_condition
(
&
proc
->
mutex_feptx
,
&
proc
->
cond_feptx
,
&
proc
->
instance_cnt_feptx
,
"feptx thread"
);
stop_meas
(
&
ru
->
ofdm_mod_wait_stats
);
/*if(opp_enabled == 1 && ru->ofdm_mod_wait_stats.
diff_now
>30*3000){
/*if(opp_enabled == 1 && ru->ofdm_mod_wait_stats.
p_time
>30*3000){
print_meas_now(&ru->ofdm_mod_wait_stats,"fep wakeup",stderr);
printf("delay in feptx wait on codition in frame_rx: %d subframe_rx: %d \n",proc->frame_tx,proc->subframe_tx);
}*/
...
...
@@ -467,7 +467,7 @@ static void *fep_thread(void *param) {
exit_fun
(
"ERROR pthread_cond_signal"
);
return
NULL
;
}
/*if(opp_enabled == 1 && ru->ofdm_demod_wakeup_stats.
diff_now
>30*3000){
/*if(opp_enabled == 1 && ru->ofdm_demod_wakeup_stats.
p_time
>30*3000){
print_meas_now(&ru->ofdm_demod_wakeup_stats,"fep wakeup",stderr);
printf("delay in fep wakeup in frame_rx: %d subframe_rx: %d \n",proc->frame_rx,proc->subframe_rx);
}*/
...
...
@@ -582,7 +582,7 @@ void ru_fep_full_2thread(RU_t *ru) {
start_meas
(
&
ru
->
ofdm_demod_wait_stats
);
wait_on_busy_condition
(
&
proc
->
mutex_fep
,
&
proc
->
cond_fep
,
&
proc
->
instance_cnt_fep
,
"fep thread"
);
stop_meas
(
&
ru
->
ofdm_demod_wait_stats
);
if
(
opp_enabled
==
1
&&
ru
->
ofdm_demod_wakeup_stats
.
diff_now
>
30
*
3000
){
if
(
opp_enabled
==
1
&&
ru
->
ofdm_demod_wakeup_stats
.
p_time
>
30
*
3000
){
print_meas_now
(
&
ru
->
ofdm_demod_wakeup_stats
,
"fep wakeup"
,
stderr
);
printf
(
"delay in fep wait on codition in frame_rx: %d subframe_rx: %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
);
}
...
...
openair1/SIMULATION/LTE_PHY/ulsim.c
View file @
dd4f1ab7
This diff is collapsed.
Click to expand it.
openair2/UTIL/LISTS/list.h
View file @
dd4f1ab7
...
...
@@ -44,6 +44,8 @@
#include<linux/types.h>
#include<stdlib.h>
#include<sys/queue.h>
#include <string.h>
#include "UTIL/MEM/mem_block.h"
...
...
@@ -103,4 +105,37 @@ void totable (double*, struct list*);
int
compare
(
const
void
*
a
,
const
void
*
b
);
int32_t
calculate_median
(
struct
list
*
loc_list
);
typedef
struct
{
size_t
size
;
size_t
mallocedSize
;
size_t
atomSize
;
size_t
increment
;
}
varArray_t
;
static
inline
varArray_t
*
initVarArray
(
size_t
increment
,
size_t
atomSize
)
{
varArray_t
*
tmp
=
malloc
(
sizeof
(
varArray_t
)
+
increment
*
atomSize
);
tmp
->
size
=
0
;
tmp
->
atomSize
=
atomSize
;
tmp
->
mallocedSize
=
increment
;
tmp
->
increment
=
increment
;
return
(
tmp
);
}
static
inline
void
*
dataArray
(
varArray_t
*
input
)
{
return
input
+
1
;
}
static
inline
void
appendVarArray
(
varArray_t
*
input
,
void
*
data
)
{
if
(
input
->
size
>=
input
->
mallocedSize
)
{
input
->
mallocedSize
+=
input
->
increment
;
input
=
realloc
(
input
,
sizeof
(
varArray_t
)
+
input
->
mallocedSize
*
input
->
atomSize
);
}
memcpy
((
uint8_t
*
)(
input
+
1
)
+
input
->
atomSize
*
input
->
size
++
,
data
,
input
->
atomSize
);
}
static
inline
void
freeVarArray
(
varArray_t
*
input
)
{
free
(
input
);
}
#endif
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