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
lizhongxiao
OpenXG-RAN
Commits
9551cf4a
Commit
9551cf4a
authored
Nov 22, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implementation of get_nr_srs_offset function to remove the hardcoded offset sl40
parent
5697860d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
3 deletions
+58
-3
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+53
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+2
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
+2
-2
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
9551cf4a
...
@@ -2495,6 +2495,59 @@ uint8_t get_K_ptrs(uint16_t nrb0, uint16_t nrb1, uint16_t N_RB) {
...
@@ -2495,6 +2495,59 @@ uint8_t get_K_ptrs(uint16_t nrb0, uint16_t nrb1, uint16_t N_RB) {
return
4
;
return
4
;
}
}
/*******************************************************************
*
* NAME : get_nr_srs_offset
*
* PARAMETERS : periodicityAndOffset for SRS
*
* RETURN : the offset parameter for SRS
*
*********************************************************************/
uint16_t
get_nr_srs_offset
(
NR_SRS_PeriodicityAndOffset_t
periodicityAndOffset
)
{
switch
(
periodicityAndOffset
.
present
)
{
case
NR_SRS_PeriodicityAndOffset_PR_sl1
:
return
periodicityAndOffset
.
choice
.
sl1
;
case
NR_SRS_PeriodicityAndOffset_PR_sl2
:
return
periodicityAndOffset
.
choice
.
sl2
;
case
NR_SRS_PeriodicityAndOffset_PR_sl4
:
return
periodicityAndOffset
.
choice
.
sl4
;
case
NR_SRS_PeriodicityAndOffset_PR_sl5
:
return
periodicityAndOffset
.
choice
.
sl5
;
case
NR_SRS_PeriodicityAndOffset_PR_sl8
:
return
periodicityAndOffset
.
choice
.
sl8
;
case
NR_SRS_PeriodicityAndOffset_PR_sl10
:
return
periodicityAndOffset
.
choice
.
sl10
;
case
NR_SRS_PeriodicityAndOffset_PR_sl16
:
return
periodicityAndOffset
.
choice
.
sl16
;
case
NR_SRS_PeriodicityAndOffset_PR_sl20
:
return
periodicityAndOffset
.
choice
.
sl20
;
case
NR_SRS_PeriodicityAndOffset_PR_sl32
:
return
periodicityAndOffset
.
choice
.
sl32
;
case
NR_SRS_PeriodicityAndOffset_PR_sl40
:
return
periodicityAndOffset
.
choice
.
sl40
;
case
NR_SRS_PeriodicityAndOffset_PR_sl64
:
return
periodicityAndOffset
.
choice
.
sl64
;
case
NR_SRS_PeriodicityAndOffset_PR_sl80
:
return
periodicityAndOffset
.
choice
.
sl80
;
case
NR_SRS_PeriodicityAndOffset_PR_sl160
:
return
periodicityAndOffset
.
choice
.
sl160
;
case
NR_SRS_PeriodicityAndOffset_PR_sl320
:
return
periodicityAndOffset
.
choice
.
sl320
;
case
NR_SRS_PeriodicityAndOffset_PR_sl640
:
return
periodicityAndOffset
.
choice
.
sl640
;
case
NR_SRS_PeriodicityAndOffset_PR_sl1280
:
return
periodicityAndOffset
.
choice
.
sl1280
;
case
NR_SRS_PeriodicityAndOffset_PR_sl2560
:
return
periodicityAndOffset
.
choice
.
sl2560
;
case
NR_SRS_PeriodicityAndOffset_PR_NOTHING
:
LOG_W
(
NR_MAC
,
"NR_SRS_PeriodicityAndOffset_PR_NOTHING
\n
"
);
return
0
;
}
}
// Set the transform precoding status according to 6.1.3 of 3GPP TS 38.214 version 16.3.0 Release 16:
// Set the transform precoding status according to 6.1.3 of 3GPP TS 38.214 version 16.3.0 Release 16:
// - "UE procedure for applying transform precoding on PUSCH"
// - "UE procedure for applying transform precoding on PUSCH"
uint8_t
get_transformPrecoding
(
const
NR_BWP_UplinkCommon_t
*
initialUplinkBWP
,
uint8_t
get_transformPrecoding
(
const
NR_BWP_UplinkCommon_t
*
initialUplinkBWP
,
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
9551cf4a
...
@@ -119,6 +119,8 @@ int32_t get_l_prime(uint8_t duration_in_symbols, uint8_t mapping_type, pusch_dmr
...
@@ -119,6 +119,8 @@ int32_t get_l_prime(uint8_t duration_in_symbols, uint8_t mapping_type, pusch_dmr
uint8_t
get_L_ptrs
(
uint8_t
mcs1
,
uint8_t
mcs2
,
uint8_t
mcs3
,
uint8_t
I_mcs
,
uint8_t
mcs_table
);
uint8_t
get_L_ptrs
(
uint8_t
mcs1
,
uint8_t
mcs2
,
uint8_t
mcs3
,
uint8_t
I_mcs
,
uint8_t
mcs_table
);
uint8_t
get_K_ptrs
(
uint16_t
nrb0
,
uint16_t
nrb1
,
uint16_t
N_RB
);
uint8_t
get_K_ptrs
(
uint16_t
nrb0
,
uint16_t
nrb1
,
uint16_t
N_RB
);
uint16_t
get_nr_srs_offset
(
NR_SRS_PeriodicityAndOffset_t
periodicityAndOffset
);
void
get_type0_PDCCH_CSS_config_parameters
(
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
,
void
get_type0_PDCCH_CSS_config_parameters
(
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
,
frame_t
frameP
,
frame_t
frameP
,
NR_MIB_t
*
mib
,
NR_MIB_t
*
mib
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
9551cf4a
...
@@ -927,7 +927,7 @@ bool nr_ue_periodic_srs_scheduling(module_id_t mod_id, frame_t frame, slot_t slo
...
@@ -927,7 +927,7 @@ bool nr_ue_periodic_srs_scheduling(module_id_t mod_id, frame_t frame, slot_t slo
mac
->
scc_SIB
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
;
mac
->
scc_SIB
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
;
uint16_t
period
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
uint16_t
period
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
uint16_t
offset
=
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
choice
.
sl40
;
uint16_t
offset
=
get_nr_srs_offset
(
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
)
;
int
n_slots_frame
=
nr_slots_per_frame
[
ubwp
.
subcarrierSpacing
];
int
n_slots_frame
=
nr_slots_per_frame
[
ubwp
.
subcarrierSpacing
];
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
View file @
9551cf4a
...
@@ -79,7 +79,7 @@ void nr_configure_srs(nfapi_nr_srs_pdu_t *srs_pdu, int module_id, int CC_id, int
...
@@ -79,7 +79,7 @@ void nr_configure_srs(nfapi_nr_srs_pdu_t *srs_pdu, int module_id, int CC_id, int
srs_pdu
->
group_or_sequence_hopping
=
srs_resource
->
groupOrSequenceHopping
;
srs_pdu
->
group_or_sequence_hopping
=
srs_resource
->
groupOrSequenceHopping
;
srs_pdu
->
resource_type
=
srs_resource
->
resourceType
.
present
-
1
;
srs_pdu
->
resource_type
=
srs_resource
->
resourceType
.
present
-
1
;
srs_pdu
->
t_srs
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
srs_pdu
->
t_srs
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
srs_pdu
->
t_offset
=
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
choice
.
sl40
;
srs_pdu
->
t_offset
=
get_nr_srs_offset
(
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
)
;
}
}
void
nr_fill_nfapi_srs
(
int
module_id
,
int
CC_id
,
int
UE_id
,
sub_frame_t
slot
,
NR_SRS_Resource_t
*
srs_resource
)
{
void
nr_fill_nfapi_srs
(
int
module_id
,
int
CC_id
,
int
UE_id
,
sub_frame_t
slot
,
NR_SRS_Resource_t
*
srs_resource
)
{
...
@@ -166,7 +166,7 @@ void nr_schedule_srs(int module_id, frame_t frame, sub_frame_t slot) {
...
@@ -166,7 +166,7 @@ void nr_schedule_srs(int module_id, frame_t frame, sub_frame_t slot) {
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
uint16_t
period
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
uint16_t
period
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
uint16_t
offset
=
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
choice
.
sl40
;
uint16_t
offset
=
get_nr_srs_offset
(
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
)
;
int
n_slots_frame
=
nr_slots_per_frame
[
ubwp
.
subcarrierSpacing
];
int
n_slots_frame
=
nr_slots_per_frame
[
ubwp
.
subcarrierSpacing
];
...
...
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