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
spbro
OpenXG-RAN
Commits
df6a5fd8
Commit
df6a5fd8
authored
Nov 28, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix SRS period and offset
parent
644f6134
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
20 deletions
+18
-20
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+1
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+1
-3
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+16
-16
No files found.
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
df6a5fd8
...
@@ -74,7 +74,7 @@ int nr_find_srs(rnti_t rnti,
...
@@ -74,7 +74,7 @@ int nr_find_srs(rnti_t rnti,
}
}
if
(
index
==-
1
)
if
(
index
==-
1
)
LOG_E
(
MAC
,
"SRS list is full
\n
"
);
LOG_E
(
PHY
,
"SRS list is full
\n
"
);
return
(
index
);
return
(
index
);
}
}
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
df6a5fd8
...
@@ -295,9 +295,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
...
@@ -295,9 +295,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
}
}
}
}
if
(
ue
->
UE_mode
[
gNB_id
]
==
PUSCH
)
{
ue_srs_procedures_nr
(
ue
,
proc
,
gNB_id
);
ue_srs_procedures_nr
(
ue
,
proc
,
gNB_id
);
}
if
(
ue
->
UE_mode
[
gNB_id
]
<=
PUSCH
)
{
if
(
ue
->
UE_mode
[
gNB_id
]
<=
PUSCH
)
{
pucch_procedures_ue_nr
(
ue
,
pucch_procedures_ue_nr
(
ue
,
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
df6a5fd8
...
@@ -405,68 +405,68 @@ struct NR_SRS_Resource__resourceType__periodic *configure_periodic_srs(const NR_
...
@@ -405,68 +405,68 @@ struct NR_SRS_Resource__resourceType__periodic *configure_periodic_srs(const NR_
const
int
n_slots_frame
=
slotsperframe
[
*
scc
->
ssbSubcarrierSpacing
];
const
int
n_slots_frame
=
slotsperframe
[
*
scc
->
ssbSubcarrierSpacing
];
const
int
ul_slots_period
=
tdd
?
tdd
->
nrofUplinkSlots
:
n_slots_frame
;
const
int
ul_slots_period
=
tdd
?
tdd
->
nrofUplinkSlots
:
n_slots_frame
;
const
int
n_slots_period
=
tdd
?
n_slots_frame
/
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
)
:
n_slots_frame
;
const
int
n_slots_period
=
tdd
?
n_slots_frame
/
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
)
:
n_slots_frame
;
const
int
first_full_ul_slot
=
n_slots_period
-
ul_slots_period
;
const
int
ideal_period
=
n_slots_period
*
MAX_MOBILES_PER_GNB
;
const
int
ideal_period
=
n_slots_period
*
MAX_MOBILES_PER_GNB
;
struct
NR_SRS_Resource__resourceType__periodic
*
periodic_srs
=
calloc
(
1
,
sizeof
(
*
periodic_srs
));
struct
NR_SRS_Resource__resourceType__periodic
*
periodic_srs
=
calloc
(
1
,
sizeof
(
*
periodic_srs
));
if
(
ideal_period
<
5
)
{
if
(
ideal_period
<
5
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl4
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl4
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl4
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl4
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
6
)
{
else
if
(
ideal_period
<
6
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl5
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl5
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl5
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl5
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
9
)
{
else
if
(
ideal_period
<
9
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl8
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl8
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl8
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl8
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
11
)
{
else
if
(
ideal_period
<
11
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl10
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl10
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl10
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl10
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
17
)
{
else
if
(
ideal_period
<
17
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl16
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl16
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl16
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl16
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
21
)
{
else
if
(
ideal_period
<
21
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl20
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl20
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl20
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl20
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
33
)
{
else
if
(
ideal_period
<
33
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl32
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl32
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl32
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl32
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
41
)
{
else
if
(
ideal_period
<
41
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl40
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl40
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl40
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl40
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
65
)
{
else
if
(
ideal_period
<
65
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl64
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl64
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl64
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl64
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
81
)
{
else
if
(
ideal_period
<
81
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl80
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl80
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl80
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl80
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
161
)
{
else
if
(
ideal_period
<
161
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl160
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl160
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl160
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl160
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
321
)
{
else
if
(
ideal_period
<
321
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl320
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl320
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl320
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl320
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
641
)
{
else
if
(
ideal_period
<
641
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl640
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl640
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl640
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl640
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
if
(
ideal_period
<
1281
)
{
else
if
(
ideal_period
<
1281
)
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl1280
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl1280
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl1280
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl1280
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
else
{
else
{
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl2560
;
periodic_srs
->
periodicityAndOffset_p
.
present
=
NR_SRS_PeriodicityAndOffset_PR_sl2560
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl2560
=
(
n_slots_period
-
ul_slots_period
)
*
uid
;
periodic_srs
->
periodicityAndOffset_p
.
choice
.
sl2560
=
first_full_ul_slot
+
(
uid
%
ul_slots_period
)
+
(
n_slots_period
*
(
uid
/
ul_slots_period
))
;
}
}
return
periodic_srs
;
return
periodic_srs
;
}
}
...
...
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