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
74e2cf77
Commit
74e2cf77
authored
Mar 01, 2017
by
Elena_Lukashova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixing throughput computations for multiple rounds in TM4.
parent
7d649f43
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
6 deletions
+24
-6
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
+24
-6
No files found.
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
View file @
74e2cf77
...
@@ -4682,9 +4682,18 @@ int main(int argc, char **argv)
...
@@ -4682,9 +4682,18 @@ int main(int argc, char **argv)
if
(
transmission_mode
==
3
||
transmission_mode
==
4
)
{
if
(
transmission_mode
==
3
||
transmission_mode
==
4
)
{
// FOR CW0
// FOR CW0
thr_cw0
[
0
]
=
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
*
(
1
-
((
double
)
errs
[
0
][
0
]
/
(
double
)
round_trials
[
0
][
0
]));
thr_cw0
[
0
]
=
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
*
(
1
-
((
double
)
errs
[
0
][
0
]
/
(
double
)
round_trials
[
0
][
0
]));
if
(
num_rounds
>
1
)
thr_cw0
[
1
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
2
)
*
(((
double
)
errs
[
0
][
0
]
-
(
double
)
errs
[
0
][
1
])
/
(
double
)
round_trials
[
0
][
0
]);
thr_cw0
[
1
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
2
)
*
(((
double
)
errs
[
0
][
0
]
-
(
double
)
errs
[
0
][
1
])
/
(
double
)
round_trials
[
0
][
0
]);
else
thr_cw0
[
1
]
=
0
;
if
(
num_rounds
>
2
)
thr_cw0
[
2
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
3
)
*
(((
double
)
errs
[
0
][
1
]
-
(
double
)
errs
[
0
][
2
])
/
(
double
)
round_trials
[
0
][
0
]);
thr_cw0
[
2
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
3
)
*
(((
double
)
errs
[
0
][
1
]
-
(
double
)
errs
[
0
][
2
])
/
(
double
)
round_trials
[
0
][
0
]);
else
thr_cw0
[
2
]
=
0
;
if
(
num_rounds
>
3
)
thr_cw0
[
3
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
4
)
*
(((
double
)
errs
[
0
][
2
]
-
(
double
)
errs
[
0
][
3
])
/
(
double
)
round_trials
[
0
][
0
]);
thr_cw0
[
3
]
=
(
rate0_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
)
/
4
)
*
(((
double
)
errs
[
0
][
2
]
-
(
double
)
errs
[
0
][
3
])
/
(
double
)
round_trials
[
0
][
0
]);
else
thr_cw0
[
3
]
=
0
;
thr_cw0_tot
=
(
double
)
thr_cw0
[
0
]
+
(
double
)
thr_cw0
[
1
]
+
(
double
)
thr_cw0
[
2
]
+
(
double
)
thr_cw0
[
3
];
thr_cw0_tot
=
(
double
)
thr_cw0
[
0
]
+
(
double
)
thr_cw0
[
1
]
+
(
double
)
thr_cw0
[
2
]
+
(
double
)
thr_cw0
[
3
];
#ifdef PRINT_THROUGHPUT
#ifdef PRINT_THROUGHPUT
printf
(
"rate %f
\n
"
,
rate0_init
);
printf
(
"rate %f
\n
"
,
rate0_init
);
...
@@ -4701,9 +4710,18 @@ int main(int argc, char **argv)
...
@@ -4701,9 +4710,18 @@ int main(int argc, char **argv)
#endif
#endif
thr_cw1
[
0
]
=
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
*
(
1
-
((
double
)
errs
[
1
][
0
]
/
(
double
)
round_trials
[
1
][
0
]));
thr_cw1
[
0
]
=
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
*
(
1
-
((
double
)
errs
[
1
][
0
]
/
(
double
)
round_trials
[
1
][
0
]));
if
(
num_rounds
>
1
)
thr_cw1
[
1
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
2
)
*
(((
double
)
errs
[
1
][
0
]
-
(
double
)
errs
[
1
][
1
])
/
(
double
)
round_trials
[
1
][
0
]);
thr_cw1
[
1
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
2
)
*
(((
double
)
errs
[
1
][
0
]
-
(
double
)
errs
[
1
][
1
])
/
(
double
)
round_trials
[
1
][
0
]);
else
thr_cw1
[
1
]
=
0
;
if
(
num_rounds
>
2
)
thr_cw1
[
2
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
3
)
*
(((
double
)
errs
[
1
][
1
]
-
(
double
)
errs
[
1
][
2
])
/
(
double
)
round_trials
[
1
][
0
]);
thr_cw1
[
2
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
3
)
*
(((
double
)
errs
[
1
][
1
]
-
(
double
)
errs
[
1
][
2
])
/
(
double
)
round_trials
[
1
][
0
]);
else
thr_cw1
[
2
]
=
0
;
if
(
num_rounds
>
3
)
thr_cw1
[
3
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
4
)
*
(((
double
)
errs
[
1
][
2
]
-
(
double
)
errs
[
1
][
3
])
/
(
double
)
round_trials
[
1
][
0
]);
thr_cw1
[
3
]
=
(
rate1_init
*
get_Qm
(
eNB
->
dlsch
[
0
][
1
]
->
harq_processes
[
0
]
->
mcs
)
/
4
)
*
(((
double
)
errs
[
1
][
2
]
-
(
double
)
errs
[
1
][
3
])
/
(
double
)
round_trials
[
1
][
0
]);
else
thr_cw1
[
3
]
=
0
;
thr_cw1_tot
=
(
double
)
thr_cw1
[
0
]
+
(
double
)
thr_cw1
[
1
]
+
(
double
)
thr_cw1
[
2
]
+
(
double
)
thr_cw1
[
3
];
thr_cw1_tot
=
(
double
)
thr_cw1
[
0
]
+
(
double
)
thr_cw1
[
1
]
+
(
double
)
thr_cw1
[
2
]
+
(
double
)
thr_cw1
[
3
];
#ifdef PRINT_THROUGHPUT
#ifdef PRINT_THROUGHPUT
printf
(
"Throughput cw1 sum = %f
\n
"
,
thr_cw1_tot
);
printf
(
"Throughput cw1 sum = %f
\n
"
,
thr_cw1_tot
);
...
...
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