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
32593036
Commit
32593036
authored
3 years ago
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add gNB support for multiple UEs for SRS on PHY
parent
6847a196
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
9 deletions
+18
-9
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+8
-4
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
+5
-0
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+1
-1
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+1
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+3
-3
No files found.
openair1/PHY/INIT/nr_init.c
View file @
32593036
...
...
@@ -195,8 +195,14 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
nr_init_csi_rs
(
gNB
,
cfg
->
cell_config
.
phy_cell_id
.
value
);
gNB
->
nr_srs_info
=
(
nr_srs_info_t
*
)
malloc16_clear
(
sizeof
(
nr_srs_info_t
));
gNB
->
nr_srs_info
->
srs_generated_signal
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
for
(
int
id
=
0
;
id
<
NUMBER_OF_NR_SRS_MAX
;
id
++
)
{
gNB
->
nr_srs_info
[
id
]
=
(
nr_srs_info_t
*
)
malloc16_clear
(
sizeof
(
nr_srs_info_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_generated_signal
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
for
(
i
=
0
;
i
<
Prx
;
i
++
){
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
}
}
generate_ul_reference_signal_sequences
(
SHRT_MAX
);
...
...
@@ -212,7 +218,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
common_vars
->
txdataF
=
(
int32_t
**
)
malloc16
(
Ptx
*
sizeof
(
int32_t
*
));
common_vars
->
rxdataF
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
common_vars
->
beam_id
=
(
uint8_t
**
)
malloc16
(
Ptx
*
sizeof
(
uint8_t
*
));
gNB
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
for
(
i
=
0
;
i
<
Ptx
;
i
++
){
common_vars
->
txdataF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame_wCP
*
sizeof
(
int32_t
));
// [hna] samples_per_frame without CP
...
...
@@ -225,7 +230,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
for
(
i
=
0
;
i
<
Prx
;
i
++
){
common_vars
->
rxdataF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame_wCP
*
sizeof
(
int32_t
));
common_vars
->
rxdata
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
->
srs_received_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
}
common_vars
->
debugBuff
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
)
*
100
);
common_vars
->
debugBuff_sample_offset
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
View file @
32593036
...
...
@@ -312,6 +312,11 @@ int nr_find_pucch(uint16_t rnti,
NR_gNB_SRS_t
*
new_gNB_srs
(
void
);
int
nr_find_srs
(
uint16_t
rnti
,
int
frame
,
int
slot
,
PHY_VARS_gNB
*
gNB
);
void
nr_fill_srs
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
32593036
...
...
@@ -59,7 +59,7 @@ int nr_find_srs(uint16_t rnti,
for
(
int
i
=
0
;
i
<
NUMBER_OF_NR_SRS_MAX
;
i
++
)
{
AssertFatal
(
gNB
->
srs
[
i
]
!=
NULL
,
"gNB->srs[%d] is null
\n
"
,
i
);
if
((
gNB
->
srs
[
i
]
->
active
>
0
)
&&
if
((
gNB
->
srs
[
i
]
->
active
>
0
)
&&
(
gNB
->
srs
[
i
]
->
srs_pdu
.
rnti
==
rnti
)
&&
(
gNB
->
srs
[
i
]
->
frame
==
frame
)
&&
(
gNB
->
srs
[
i
]
->
slot
==
slot
))
return
(
i
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_gNB.h
View file @
32593036
...
...
@@ -795,7 +795,7 @@ typedef struct PHY_VARS_gNB_s {
t_nrPolar_params
*
uci_polarParams
;
/// SRS variables
nr_srs_info_t
*
nr_srs_info
;
nr_srs_info_t
*
nr_srs_info
[
NUMBER_OF_NR_SRS_MAX
]
;
uint8_t
pbch_configured
;
char
gNB_generate_rar
;
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
32593036
...
...
@@ -799,11 +799,11 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
nfapi_nr_srs_pdu_t
*
srs_pdu
=
&
srs
->
srs_pdu
;
// At least currently, the configuration is constant, so it is enough to generate the sequence just once.
if
(
gNB
->
nr_srs_info
->
n_symbs
==
0
)
{
generate_srs_nr
(
srs_pdu
,
&
gNB
->
frame_parms
,
gNB
->
nr_srs_info
->
srs_generated_signal
,
gNB
->
nr_srs_info
,
AMP
,
frame_rx
,
slot_rx
);
if
(
gNB
->
nr_srs_info
[
i
]
->
n_symbs
==
0
)
{
generate_srs_nr
(
srs_pdu
,
&
gNB
->
frame_parms
,
gNB
->
nr_srs_info
[
i
]
->
srs_generated_signal
,
gNB
->
nr_srs_info
[
i
]
,
AMP
,
frame_rx
,
slot_rx
);
}
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
,
gNB
->
nr_srs_info
->
srs_received_signal
);
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
gNB
->
nr_srs_info
[
i
]
->
srs_received_signal
);
srs
->
active
=
0
;
}
}
...
...
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