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
canghaiwuhen
OpenXG-RAN
Commits
65c7ab09
Commit
65c7ab09
authored
Nov 12, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Correct use of ssb_position bitmaps
parent
3d60e953
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
5 deletions
+7
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+7
-5
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
65c7ab09
...
@@ -159,13 +159,15 @@ void schedule_nr_mib(module_id_t module_idP, frame_t frameP, sub_frame_t slotP,
...
@@ -159,13 +159,15 @@ void schedule_nr_mib(module_id_t module_idP, frame_t frameP, sub_frame_t slotP,
const
int
abs_slot
=
(
slots_per_frame
*
frameP
)
+
slotP
;
const
int
abs_slot
=
(
slots_per_frame
*
frameP
)
+
slotP
;
const
int
slot_per_period
=
(
slots_per_frame
>>
1
)
<<
(
*
cc
->
ServingCellConfigCommon
->
ssb_periodicityServingCell
);
const
int
slot_per_period
=
(
slots_per_frame
>>
1
)
<<
(
*
cc
->
ServingCellConfigCommon
->
ssb_periodicityServingCell
);
int
eff_120_slot
;
int
eff_120_slot
;
const
BIT_STRING_t
*
shortBitmap
=
&
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
choice
.
shortBitmap
;
const
BIT_STRING_t
*
mediumBitmap
=
&
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
;
const
BIT_STRING_t
*
mediumBitmap
=
&
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
;
const
BIT_STRING_t
*
longBitmap
=
&
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
choice
.
longBitmap
;
uint8_t
buf
=
0
;
uint8_t
buf
=
0
;
switch
(
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
present
)
{
switch
(
cc
->
ServingCellConfigCommon
->
ssb_PositionsInBurst
->
present
)
{
case
1
:
case
1
:
// presence of ssbs possible in the first 2 slots of ssb period
// presence of ssbs possible in the first 2 slots of ssb period
if
((
abs_slot
%
slot_per_period
)
<
2
&&
if
((
abs_slot
%
slot_per_period
)
<
2
&&
(((
medium
Bitmap
->
buf
[
0
])
>>
(
6
-
(
slotP
<<
1
)))
&
3
)
!=
0
)
(((
short
Bitmap
->
buf
[
0
])
>>
(
6
-
(
slotP
<<
1
)))
&
3
)
!=
0
)
fill_ssb_vrb_map
(
cc
,
(
ssb_offset0
/
(
ratio
*
12
)
-
10
),
CC_id
);
fill_ssb_vrb_map
(
cc
,
(
ssb_offset0
/
(
ratio
*
12
)
-
10
),
CC_id
);
break
;
break
;
case
2
:
case
2
:
...
@@ -180,16 +182,16 @@ void schedule_nr_mib(module_id_t module_idP, frame_t frameP, sub_frame_t slotP,
...
@@ -180,16 +182,16 @@ void schedule_nr_mib(module_id_t module_idP, frame_t frameP, sub_frame_t slotP,
"240kHZ subcarrier spacing currently not supported for SSBs
\n
"
);
"240kHZ subcarrier spacing currently not supported for SSBs
\n
"
);
if
((
abs_slot
%
slot_per_period
)
<
8
)
{
if
((
abs_slot
%
slot_per_period
)
<
8
)
{
eff_120_slot
=
slotP
;
eff_120_slot
=
slotP
;
buf
=
medium
Bitmap
->
buf
[
0
];
buf
=
long
Bitmap
->
buf
[
0
];
}
else
if
((
abs_slot
%
slot_per_period
)
<
17
)
{
}
else
if
((
abs_slot
%
slot_per_period
)
<
17
)
{
eff_120_slot
=
slotP
-
9
;
eff_120_slot
=
slotP
-
9
;
buf
=
medium
Bitmap
->
buf
[
1
];
buf
=
long
Bitmap
->
buf
[
1
];
}
else
if
((
abs_slot
%
slot_per_period
)
<
26
)
{
}
else
if
((
abs_slot
%
slot_per_period
)
<
26
)
{
eff_120_slot
=
slotP
-
18
;
eff_120_slot
=
slotP
-
18
;
buf
=
medium
Bitmap
->
buf
[
2
];
buf
=
long
Bitmap
->
buf
[
2
];
}
else
if
((
abs_slot
%
slot_per_period
)
<
35
)
{
}
else
if
((
abs_slot
%
slot_per_period
)
<
35
)
{
eff_120_slot
=
slotP
-
27
;
eff_120_slot
=
slotP
-
27
;
buf
=
medium
Bitmap
->
buf
[
3
];
buf
=
long
Bitmap
->
buf
[
3
];
}
}
if
(((
buf
>>
(
6
-
(
eff_120_slot
<<
1
)))
&
3
)
!=
0
)
if
(((
buf
>>
(
6
-
(
eff_120_slot
<<
1
)))
&
3
)
!=
0
)
fill_ssb_vrb_map
(
cc
,
ssb_offset0
/
(
ratio
*
12
)
-
10
,
CC_id
);
fill_ssb_vrb_map
(
cc
,
ssb_offset0
/
(
ratio
*
12
)
-
10
,
CC_id
);
...
...
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