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
0b55910c
Commit
0b55910c
authored
Jun 06, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
possible fix in type setting of Y for coreset
parent
a5313420
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
24 additions
and
35 deletions
+24
-35
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+2
-2
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-1
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+8
-5
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+2
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+3
-6
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-9
No files found.
openair1/PHY/INIT/nr_init.c
View file @
0b55910c
...
...
@@ -544,8 +544,8 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
gNB
->
nr_gold_pdsch_dmrs
=
(
uint32_t
****
)
malloc16
(
fp
->
slots_per_frame
*
sizeof
(
uint32_t
***
));
uint32_t
****
pdsch_dmrs
=
gNB
->
nr_gold_pdsch_dmrs
;
// ceil(((NB_RB*
6
(k)*2(QPSK)/32) // 3 RE *2(QPSK)
int
pdsch_dmrs_init_length
=
((
fp
->
N_RB_DL
*
12
)
>>
5
)
+
1
;
// ceil(((NB_RB*
12
(k)*2(QPSK)/32) // 3 RE *2(QPSK)
int
pdsch_dmrs_init_length
=
((
fp
->
N_RB_DL
*
24
)
>>
5
)
+
1
;
for
(
int
slot
=
0
;
slot
<
fp
->
slots_per_frame
;
slot
++
)
{
pdsch_dmrs
[
slot
]
=
(
uint32_t
***
)
malloc16
(
fp
->
symbols_per_slot
*
sizeof
(
uint32_t
**
));
AssertFatal
(
pdsch_dmrs
[
slot
]
!=
NULL
,
"NR init: pdsch_dmrs for slot %d - malloc failed
\n
"
,
slot
);
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
0b55910c
...
...
@@ -282,7 +282,7 @@ void nr_dlsim_preprocessor(module_id_t module_id,
sched_ctrl
->
search_space
,
4
);
sched_ctrl
->
coreset
=
get_coreset
(
RC
.
nrmac
[
module_id
],
scc
,
sched_ctrl
->
active_bwp
->
bwp_Dedicated
,
sched_ctrl
->
search_space
,
target_ss
);
int
Y
=
get_Y
((
*
sched_ctrl
->
search_space
->
controlResourceSetId
)
%
3
,
slot
,
UE_info
->
rnti
[
0
]);
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE_info
->
rnti
[
0
]);
int
CCEIndex
=
find_pdcch_candidate
(
RC
.
nrmac
[
module_id
],
/* CC_id = */
0
,
sched_ctrl
->
aggregation_level
,
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
0b55910c
...
...
@@ -3498,14 +3498,17 @@ void csi_period_offset(NR_CSI_ReportConfig_t *csirep,
}
}
uint
16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
)
{
uint
32_t
get_Y
(
NR_SearchSpace_t
*
ss
,
int
slot
,
rnti_t
rnti
)
{
const
int
A
[
3
]
=
{
39827
,
39829
,
39839
};
const
int
D
=
65537
;
int
Y
;
if
(
ss
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_common
)
return
0
;
Y
=
(
A
[
cid
]
*
rnti
)
%
D
;
const
int
cid
=
*
ss
->
controlResourceSetId
%
3
;
const
uint32_t
A
[
3
]
=
{
39827
,
39829
,
39839
};
const
uint32_t
D
=
65537
;
uint32_t
Y
;
Y
=
(
A
[
cid
]
*
rnti
)
%
D
;
for
(
int
s
=
0
;
s
<
slot
;
s
++
)
Y
=
(
A
[
cid
]
*
Y
)
%
D
;
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
0b55910c
...
...
@@ -37,7 +37,7 @@
#include "nr_mac.h"
#include "openair1/PHY/impl_defs_nr.h"
uint
16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
);
uint
32_t
get_Y
(
NR_SearchSpace_t
*
ss
,
int
slot
,
rnti_t
rnti
);
uint64_t
from_nrarfcn
(
int
nr_bandP
,
uint8_t
scs_index
,
uint32_t
dl_nrarfcn
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
0b55910c
...
...
@@ -59,9 +59,9 @@ void fill_dci_search_candidates(NR_SearchSpace_t *ss,
uint8_t
number_of_candidates
=
0
;
rel15
->
number_of_candidates
=
0
;
int
i
=
0
;
in
t
Y
=
0
;
uint32_
t
Y
=
0
;
if
(
slot
>=
0
)
Y
=
get_Y
(
(
*
ss
->
controlResourceSetId
)
%
3
,
slot
,
rnti
);
Y
=
get_Y
(
ss
,
slot
,
rnti
);
for
(
int
maxL
=
16
;
maxL
>
0
;
maxL
>>=
1
)
{
find_aggregation_candidates
(
&
aggregation
,
&
number_of_candidates
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
0b55910c
...
...
@@ -489,8 +489,8 @@ bool allocate_dl_retransmission(module_id_t module_id,
}
/* Find a free CCE */
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint
16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
UE
->
rnti
);
const
uint
32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE
->
rnti
);
uint8_t
nr_of_candidates
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
...
...
@@ -690,8 +690,7 @@ void pf_dl(module_id_t module_id,
}
/* Find a free CCE */
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
iterator
->
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
iterator
->
UE
->
rnti
);
uint8_t
nr_of_candidates
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
0b55910c
...
...
@@ -262,8 +262,7 @@ void nr_preprocessor_phytest(module_id_t module_id,
}
AssertFatal
(
nr_of_candidates
>
0
,
"nr_of_candidates is 0
\n
"
);
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE
->
rnti
);
int
CCEIndex
=
find_pdcch_candidate
(
RC
.
nrmac
[
module_id
],
CC_id
,
...
...
@@ -437,8 +436,7 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
}
AssertFatal
(
nr_of_candidates
>
0
,
"nr_of_candidates is 0
\n
"
);
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE
->
rnti
);
int
CCEIndex
=
find_pdcch_candidate
(
nr_mac
,
CC_id
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
0b55910c
...
...
@@ -446,7 +446,7 @@ int find_pdcch_candidate(gNB_MAC_INST *mac,
int
nr_of_candidates
,
NR_sched_pdcch_t
*
pdcch
,
NR_ControlResourceSet_t
*
coreset
,
uint
16
_t
Y
){
uint
32
_t
Y
){
uint16_t
*
vrb_map
=
mac
->
common_channels
[
cc_id
].
vrb_map
;
const
int
N_ci
=
0
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
0b55910c
...
...
@@ -934,8 +934,7 @@ static bool allocate_ul_retransmission(gNB_MAC_INST *nrmac,
}
/* Find a free CCE */
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE
->
rnti
);
uint8_t
nr_of_candidates
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
// for now taking the lowest value among the available aggregation levels
...
...
@@ -1102,8 +1101,7 @@ void pf_ul(module_id_t module_id,
if
(
B
==
0
&&
do_sched
)
{
/* if no data, pre-allocate 5RB */
/* Find a free CCE */
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
UE
->
rnti
);
uint8_t
nr_of_candidates
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
// for now taking the lowest value among the available aggregation levels
...
...
@@ -1217,8 +1215,7 @@ void pf_ul(module_id_t module_id,
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
iterator
->
UE
->
UE_sched_ctrl
;
const
int
cid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
const
uint16_t
Y
=
get_Y
(
cid
%
3
,
slot
,
iterator
->
UE
->
rnti
);
const
uint32_t
Y
=
get_Y
(
sched_ctrl
->
search_space
,
slot
,
iterator
->
UE
->
rnti
);
uint8_t
nr_of_candidates
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
// for now taking the lowest value among the available aggregation levels
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
0b55910c
...
...
@@ -290,7 +290,7 @@ int find_pdcch_candidate(gNB_MAC_INST *mac,
int
nr_of_candidates
,
NR_sched_pdcch_t
*
pdcch
,
NR_ControlResourceSet_t
*
coreset
,
uint
16
_t
Y
);
uint
32
_t
Y
);
void
fill_pdcch_vrb_map
(
gNB_MAC_INST
*
mac
,
int
CC_id
,
...
...
@@ -410,14 +410,6 @@ void mac_remove_nr_ue(gNB_MAC_INST *nr_mac, rnti_t rnti);
void
nr_mac_remove_ra_rnti
(
module_id_t
mod_id
,
rnti_t
rnti
);
int
allocate_nr_CCEs
(
gNB_MAC_INST
*
nr_mac
,
NR_BWP_Downlink_t
*
bwp
,
NR_ControlResourceSet_t
*
coreset
,
int
aggregation
,
uint16_t
Y
,
int
m
,
int
nr_of_candidates
);
int
nr_get_default_pucch_res
(
int
pucch_ResourceCommon
);
void
compute_csi_bitlen
(
NR_CSI_MeasConfig_t
*
csi_MeasConfig
,
NR_UE_info_t
*
UE
);
...
...
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