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
ZhouShuya
OpenXG-RAN
Commits
f6206327
Commit
f6206327
authored
Sep 30, 2016
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
timing measurement fixes
parent
e202953c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
4 deletions
+13
-4
openair1/PHY/TOOLS/time_meas.h
openair1/PHY/TOOLS/time_meas.h
+10
-2
openair1/SIMULATION/LTE_PHY/dlsim.c
openair1/SIMULATION/LTE_PHY/dlsim.c
+3
-2
No files found.
openair1/PHY/TOOLS/time_meas.h
View file @
f6206327
...
...
@@ -52,6 +52,7 @@ typedef struct {
long
long
diff_square
;
/*!< \brief process duration square */
long
long
max
;
int
trials
;
int
meas_flag
;
}
time_stats_t
;
#elif defined(__arm__)
typedef
struct
{
...
...
@@ -105,9 +106,14 @@ static inline void start_meas(time_stats_t *ts)
{
if
(
opp_enabled
)
{
if
(
ts
->
meas_flag
==
0
)
{
ts
->
trials
++
;
ts
->
in
=
rdtsc_oai
();
ts
->
meas_flag
=
1
;
}
else
{
ts
->
in
=
rdtsc_oai
();
}
}
}
...
...
@@ -128,6 +134,7 @@ static inline void stop_meas(time_stats_t *ts)
if
((
out
-
ts
->
in
)
>
ts
->
max
)
ts
->
max
=
out
-
ts
->
in
;
ts
->
meas_flag
=
0
;
}
}
...
...
@@ -139,6 +146,7 @@ static inline void reset_meas(time_stats_t *ts) {
ts
->
p_time
=
0
;
ts
->
diff_square
=
0
;
ts
->
max
=
0
;
ts
->
meas_flag
=
0
;
}
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
f6206327
...
...
@@ -2086,6 +2086,7 @@ n(tikz_fname,"w");
reset_meas
(
&
PHY_vars_UE
->
dlsch_channel_estimation_stats
);
reset_meas
(
&
PHY_vars_UE
->
dlsch_freq_offset_estimation_stats
);
reset_meas
(
&
PHY_vars_UE
->
rx_dft_stats
);
reset_meas
(
&
PHY_vars_UE
->
dlsch_llr_stats
);
reset_meas
(
&
PHY_vars_UE
->
dlsch_decoding_stats
);
reset_meas
(
&
PHY_vars_UE
->
dlsch_turbo_decoding_stats
);
reset_meas
(
&
PHY_vars_UE
->
dlsch_deinterleaving_stats
);
...
...
@@ -4241,7 +4242,7 @@ n(tikz_fname,"w");
std_phy_proc_tx_enc
=
sqrt
((
double
)
PHY_vars_eNB
->
dlsch_encoding_stats
.
diff_square
/
pow
(
cpu_freq_GHz
,
2
)
/
pow
(
1000
,
2
)
/
PHY_vars_eNB
->
dlsch_encoding_stats
.
trials
-
pow
((
double
)
PHY_vars_eNB
->
dlsch_encoding_stats
.
diff
/
PHY_vars_eNB
->
dlsch_encoding_stats
.
trials
/
cpu_freq_GHz
/
1000
,
2
));
printf
(
"DLSCH encoding time :%f us (%d trials)
\n
"
,(
double
)
PHY_vars_eNB
->
dlsch_encoding_stats
.
diff
/
PHY_vars_eNB
->
dlsch_encoding_stats
.
trials
/
cpu_freq_GHz
/
1000
.
0
,
PHY_vars_eNB
->
dlsch_
modulation
_stats
.
trials
);
PHY_vars_eNB
->
dlsch_
encoding
_stats
.
trials
);
printf
(
"|__ Statistcs std: %fus median %fus q1 %fus q3 %fus
\n
"
,
std_phy_proc_tx_enc
,
tx_enc_median
,
tx_enc_q1
,
tx_enc_q3
);
printf
(
"|__ DLSCH turbo encoding time :%f us (%d trials)
\n
"
,
((
double
)
PHY_vars_eNB
->
dlsch_turbo_encoding_stats
.
trials
/
PHY_vars_eNB
->
dlsch_encoding_stats
.
trials
)
*
(
double
)
...
...
@@ -4257,7 +4258,7 @@ n(tikz_fname,"w");
std_phy_proc_rx
=
sqrt
((
double
)
PHY_vars_UE
->
phy_proc_rx
.
diff_square
/
pow
(
cpu_freq_GHz
,
2
)
/
pow
(
1000
,
2
)
/
PHY_vars_UE
->
phy_proc_rx
.
trials
-
pow
((
double
)
PHY_vars_UE
->
phy_proc_rx
.
diff
/
PHY_vars_UE
->
phy_proc_rx
.
trials
/
cpu_freq_GHz
/
1000
,
2
));
printf
(
"Total PHY proc rx :%f us (%d trials)
\n
"
,(
double
)
PHY_vars_UE
->
phy_proc_rx
.
diff
/
PHY_vars_UE
->
phy_proc_rx
.
trials
/
cpu_freq_GHz
/
1000
.
0
,
PHY_vars_UE
->
phy_proc_rx
.
trials
*
2
/
3
);
PHY_vars_UE
->
phy_proc_rx
.
trials
);
printf
(
"|__Statistcs std: %fus max: %fus min: %fus median %fus q1 %fus q3 %fus n_dropped: %d packet
\n
"
,
std_phy_proc_rx
,
t_rx_max
,
t_rx_min
,
rx_median
,
rx_q1
,
rx_q3
,
n_rx_dropped
);
std_phy_proc_rx_fft
=
sqrt
((
double
)
PHY_vars_UE
->
ofdm_demod_stats
.
diff_square
/
pow
(
cpu_freq_GHz
,
2
)
/
pow
(
1000
,
...
...
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