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
Michael Black
OpenXG-RAN
Commits
73560827
Commit
73560827
authored
7 years ago
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added narrowband to first rb maping for L2
parent
828077c2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
5 deletions
+38
-5
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+3
-3
openair2/LAYER2/MAC/eNB_scheduler_bch.c
openair2/LAYER2/MAC/eNB_scheduler_bch.c
+4
-2
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+28
-0
openair2/LAYER2/MAC/proto.h
openair2/LAYER2/MAC/proto.h
+3
-0
No files found.
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
73560827
...
...
@@ -209,7 +209,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
// get narrowband according to higher-layer config
num_nb
=
p
[
RA_template
->
rach_resource_type
-
1
]
->
mpdcch_NarrowbandsToMonitor_r13
.
list
.
count
;
RA_template
->
msg2_narrowband
=
*
p
[
RA_template
->
rach_resource_type
-
1
]
->
mpdcch_NarrowbandsToMonitor_r13
.
list
.
array
[
RA_template
->
preamble_index
%
num_nb
];
first_rb
=
RA_template
->
msg2_narrowband
*
6
;
first_rb
=
narrowband_to_first_rb
(
&
cc
[
CC_idP
],
RA_template
->
msg2_narrowband
)
;
if
((
RA_template
->
msg2_mpdcch_repetition_cnt
==
0
)
&&
(
mpdcch_sf_condition
(
eNB
,
CC_idP
,
frameP
,
subframeP
,
rmax
,
TYPE2
)
>
0
)){
...
...
@@ -555,8 +555,8 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
// get actual repetition count from Table 9.1.5-3
reps
=
(
rmax
<=
8
)
?
(
1
<<
rep
)
:
(
rmax
>>
(
3
-
rep
));
// get first narrowband
first_rb
=
RA_template
->
msg34_narrowband
*
6
;
first_rb
=
narrowband_to_first_rb
(
&
cc
[
CC_idP
],
RA_template
->
msg34_narrowband
)
;
if
((
RA_template
->
msg4_mpdcch_repetition_cnt
==
0
)
&&
(
mpdcch_sf_condition
(
eNB
,
CC_idP
,
frameP
,
subframeP
,
rmax
,
TYPE2
)
>
0
)){
// MPDCCH configuration for RAR
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_bch.c
View file @
73560827
...
...
@@ -199,7 +199,9 @@ schedule_SIB1_BR(
LOG_D
(
MAC
,
"[eNB %d] Frame %d : BCCH_BR->DLSCH CC_id %d, Received %d bytes
\n
"
,
module_idP
,
frameP
,
CC_id
,
bcch_sdu_length
);
// allocate all 6 PRBs in narrowband for SIB1_BR
first_rb
=
n_NB
*
6
;
first_rb
=
narrowband_to_first_rb
(
cc
,
n_NB
);
vrb_map
[
first_rb
]
=
1
;
vrb_map
[
first_rb
+
1
]
=
1
;
vrb_map
[
first_rb
+
2
]
=
1
;
...
...
@@ -383,7 +385,7 @@ schedule_SI_BR(
LOG_D
(
MAC
,
"[eNB %d] Frame %d : BCCH_BR %d->DLSCH CC_id %d, Received %d bytes
\n
"
,
module_idP
,
frameP
,
i
,
CC_id
,
bcch_sdu_length
);
// allocate all 6 PRBs in narrowband for SIB1_BR
first_rb
=
si_Narrowband_r13
*
6
;
first_rb
=
narrowband_to_first_rb
(
cc
,
si_Narrowband_r13
)
;
vrb_map
[
first_rb
]
=
1
;
vrb_map
[
first_rb
+
1
]
=
1
;
vrb_map
[
first_rb
+
2
]
=
1
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
73560827
...
...
@@ -524,7 +524,35 @@ int mpdcch_sf_condition(eNB_MAC_INST *eNB,int CC_id, frame_t frameP,sub_frame_t
}
int
narrowband_to_first_rb
(
COMMON_channels_t
*
cc
,
int
nb_index
)
{
switch
(
cc
->
mib
->
message
.
dl_Bandwidth
)
{
case
0
:
// 6 PRBs, N_NB=1, i_0=0
return
(
0
);
break
;
case
3
:
// 50 PRBs, N_NB=8, i_0=1
return
((
int
)(
1
+
(
6
*
nb_index
)));
break
;
case
5
:
// 100 PRBs, N_NB=16, i_0=2
return
((
int
)(
2
+
(
6
*
nb_index
)));
break
;
case
1
:
// 15 PRBs N_NB=2, i_0=1
if
(
nb_index
>
0
)
return
(
1
);
else
return
(
0
);
break
;
case
2
:
// 25 PRBs, N_NB=4, i_0=0
if
(
nb_index
>
1
)
return
(
1
+
(
6
*
nb_index
));
else
return
((
6
*
nb_index
));
break
;
case
4
:
// 75 PRBs, N_NB=12, i_0=1
if
(
nb_index
>
5
)
return
(
2
+
(
6
*
nb_index
));
else
return
(
1
+
(
6
*
nb_index
));
break
;
default:
AssertFatal
(
1
==
0
,
"Impossible dl_Bandwidth %d
\n
"
,
cc
->
mib
->
message
.
dl_Bandwidth
);
break
;
}
}
#endif
//------------------------------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/proto.h
View file @
73560827
...
...
@@ -904,6 +904,9 @@ int get_numnarrowbandbits(long dl_Bandwidth);
int
mpdcch_sf_condition
(
eNB_MAC_INST
*
eNB
,
int
CC_id
,
frame_t
frameP
,
sub_frame_t
subframeP
,
int
rmax
,
MPDCCH_TYPES_t
mpdcch_type
);
int
get_numnarrowbands
(
long
dl_Bandwidth
);
int
narrowband_to_first_rb
(
COMMON_channels_t
*
cc
,
int
nb_index
);
#endif
...
...
This diff is collapsed.
Click to expand it.
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