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
03393ddc
Commit
03393ddc
authored
Nov 25, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor fixes for multiple antennas scenario
parent
b3e5b83b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
20 deletions
+29
-20
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+3
-2
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+5
-2
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
+1
-1
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+19
-14
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+1
-1
No files found.
openair1/PHY/INIT/nr_init.c
View file @
03393ddc
...
...
@@ -196,8 +196,7 @@ 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
(
NR_NB_SC_PER_RB
*
NR_MAX_NB_RB
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
*
)
malloc16_clear
(
NR_NB_SC_PER_RB
*
NR_MAX_NB_RB
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
->
srs_generated_signal
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
generate_ul_reference_signal_sequences
(
SHRT_MAX
);
...
...
@@ -213,6 +212,7 @@ 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,6 +225,7 @@ 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
;
...
...
openair1/PHY/INIT/nr_init_ue.c
View file @
03393ddc
...
...
@@ -324,8 +324,11 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
srs_vars
[
gNB_id
]
->
active
=
false
;
ue
->
nr_srs_info
=
(
nr_srs_info_t
*
)
malloc16_clear
(
sizeof
(
nr_srs_info_t
));
ue
->
nr_srs_info
->
srs_generated_signal
=
(
int32_t
*
)
malloc16_clear
(
NR_NB_SC_PER_RB
*
NR_MAX_NB_RB
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
*
)
malloc16_clear
(
NR_NB_SC_PER_RB
*
NR_MAX_NB_RB
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_generated_signal
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
ue
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
for
(
i
=
0
;
i
<
fp
->
nb_antennas_rx
;
i
++
)
{
ue
->
nr_srs_info
->
srs_received_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
}
if
(
abstraction_flag
==
0
)
{
for
(
th_id
=
0
;
th_id
<
RX_NB_TH_MAX
;
th_id
++
)
{
...
...
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
View file @
03393ddc
...
...
@@ -322,7 +322,7 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
int
slot
,
nfapi_nr_srs_pdu_t
*
srs_pdu
,
nr_srs_info_t
*
nr_srs_info
,
int32_t
*
srs_received_signal
);
int32_t
*
*
srs_received_signal
);
void
init_prach_list
(
PHY_VARS_gNB
*
gNB
);
void
init_prach_ru_list
(
RU_t
*
ru
);
...
...
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
03393ddc
...
...
@@ -89,14 +89,14 @@ void nr_fill_srs(PHY_VARS_gNB *gNB,
}
int
nr_get_srs_signal
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
nfapi_nr_srs_pdu_t
*
srs_pdu
,
nr_srs_info_t
*
nr_srs_info
,
int32_t
*
srs_received_signal
)
{
int
frame
,
int
slot
,
nfapi_nr_srs_pdu_t
*
srs_pdu
,
nr_srs_info_t
*
nr_srs_info
,
int32_t
*
*
srs_received_signal
)
{
if
(
nr_srs_info
->
n_symbs
==
0
)
{
LOG_E
(
NR_PHY
,
"
nr_srs_info was not generated yet!
\n
"
);
LOG_E
(
NR_PHY
,
"
(%d.%d) nr_srs_info was not generated yet!
\n
"
,
frame
,
slot
);
return
-
1
;
}
...
...
@@ -109,19 +109,24 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
int32_t
*
rx_signal
;
for
(
int
ant
=
0
;
ant
<
frame_parms
->
nb_antennas_rx
;
ant
++
)
{
memset
(
srs_received_signal
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
rx_signal
=
&
rxdataF
[
ant
][
symbol_offset
+
frame_parms
->
first_carrier_offset
];
for
(
int
sc_idx
=
0
;
sc_idx
<
nr_srs_info
->
n_symbs
;
sc_idx
++
)
{
srs_received_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
=
rx_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
=
rx_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
#ifdef SRS_DEBUG
if
(
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
%
12
==
0
)
{
LOG_I
(
NR_PHY
,
"::::::::::::: %i :::::::::::::
\n
"
,
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
/
12
);
}
LOG_I
(
NR_PHY
,
"(%i)
\t
%i
\t
%i
\n
"
,
nr_srs_info
->
subcarrier_idx
[
sc_idx
],
srs_received_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
&
0xFFFF
,
(
srs_received_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
>>
16
)
&
0xFFFF
);
if
(
sc_idx
==
0
)
{
LOG_I
(
NR_PHY
,
"________ Rx antenna %i ________
\n
"
,
ant
);
}
if
(
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
%
12
==
0
)
{
LOG_I
(
NR_PHY
,
"::::::::::::: %i :::::::::::::
\n
"
,
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
/
12
);
}
LOG_I
(
NR_PHY
,
"(%i)
\t
%i
\t
%i
\n
"
,
nr_srs_info
->
subcarrier_idx
[
sc_idx
],
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
&
0xFFFF
,
(
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_carrier_offset
]
>>
16
)
&
0xFFFF
);
#endif
}
}
...
...
openair1/PHY/defs_nr_common.h
View file @
03393ddc
...
...
@@ -244,7 +244,7 @@ typedef struct {
uint16_t
n_symbs
;
uint16_t
subcarrier_idx
[
6
*
NR_MAX_NB_RB
];
int32_t
*
srs_generated_signal
;
int32_t
*
srs_received_signal
;
int32_t
*
*
srs_received_signal
;
}
nr_srs_info_t
;
typedef
struct
NR_DL_FRAME_PARMS
NR_DL_FRAME_PARMS
;
...
...
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