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
52f6d38a
Commit
52f6d38a
authored
Jul 05, 2022
by
Roberto Louro Magueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove more variables from nr_srs_info_t
parent
53f07736
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
33 additions
and
78 deletions
+33
-78
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+0
-24
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+0
-25
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
+1
-1
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+5
-5
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
+6
-5
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
+1
-1
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+0
-5
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+19
-11
No files found.
openair1/PHY/INIT/nr_init.c
View file @
52f6d38a
...
...
@@ -613,18 +613,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
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_received_signal
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
=
(
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
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
}
}
generate_ul_reference_signal_sequences
(
SHRT_MAX
);
...
...
@@ -782,18 +770,6 @@ void phy_free_nr_gNB(PHY_VARS_gNB *gNB)
free_and_zero
(
gNB
->
nr_csi_rs_info
);
for
(
int
id
=
0
;
id
<
NUMBER_OF_NR_SRS_MAX
;
id
++
)
{
for
(
int
i
=
0
;
i
<
Prx
;
i
++
)
{
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
[
i
]);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
[
i
]);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
[
i
]);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
[
i
]);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
[
i
]);
}
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
);
free_and_zero
(
gNB
->
nr_srs_info
[
id
]);
}
...
...
openair1/PHY/INIT/nr_init_ue.c
View file @
52f6d38a
...
...
@@ -377,19 +377,6 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_gNB)
}
ue
->
nr_srs_info
=
(
nr_srs_info_t
*
)
malloc16_clear
(
sizeof
(
nr_srs_info_t
));
ue
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_ls_estimated_channel
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_freq
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
=
(
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
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_ls_estimated_channel
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_estimated_channel_freq
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_estimated_channel_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
ofdm_symbol_size
*
MAX_NUM_NR_SRS_SYMBOLS
*
sizeof
(
int32_t
));
}
// RACH
prach_vars
[
gNB_id
]
->
prachF
=
(
int16_t
*
)
malloc16_clear
(
sizeof
(
int
)
*
(
7
*
2
*
sizeof
(
int
)
*
(
fp
->
ofdm_symbol_size
*
12
))
);
...
...
@@ -517,18 +504,6 @@ void term_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_gNB)
free_and_zero
(
ue
->
nr_csi_rs_info
->
csi_rs_estimated_channel_freq
);
free_and_zero
(
ue
->
nr_csi_rs_info
);
for
(
int
i
=
0
;
i
<
fp
->
nb_antennas_rx
;
i
++
)
{
free_and_zero
(
ue
->
nr_srs_info
->
srs_received_signal
[
i
]);
free_and_zero
(
ue
->
nr_srs_info
->
srs_ls_estimated_channel
[
i
]);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_freq
[
i
]);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_time
[
i
]);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
[
i
]);
}
free_and_zero
(
ue
->
nr_srs_info
->
srs_received_signal
);
free_and_zero
(
ue
->
nr_srs_info
->
srs_ls_estimated_channel
);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_freq
);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_time
);
free_and_zero
(
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
);
free_and_zero
(
ue
->
nr_srs_info
);
free_and_zero
(
ue
->
csiim_vars
[
gNB_id
]);
...
...
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
View file @
52f6d38a
...
...
@@ -68,7 +68,7 @@ int nr_est_timing_advance_pusch(PHY_VARS_gNB* gNB, int UE_id)
}
int
nr_est_timing_advance_srs
(
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
int32_t
**
srs_estimated_channel_time
)
{
const
int32_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
]
)
{
int
timing_advance
=
0
;
int
max_val
=
0
;
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
52f6d38a
...
...
@@ -965,10 +965,11 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
const
nfapi_nr_srs_pdu_t
*
srs_pdu
,
const
nr_srs_info_t
*
nr_srs_info
,
const
int32_t
*
srs_generated_signal
,
const
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel_freq
,
int32_t
**
srs_estimated_channel_time
,
int32_t
**
srs_estimated_channel_time_shifted
,
int32_t
srs_received_signal
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_ls_estimated_channel
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_estimated_channel_freq
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_estimated_channel_time
[][
gNB
->
frame_parms
.
ofdm_symbol_size
],
int32_t
srs_estimated_channel_time_shifted
[][
gNB
->
frame_parms
.
ofdm_symbol_size
],
uint32_t
*
signal_power
,
uint32_t
*
noise_power_per_rb
,
uint32_t
*
noise_power
,
...
...
@@ -981,7 +982,6 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
}
const
NR_DL_FRAME_PARMS
*
frame_parms
=
&
gNB
->
frame_parms
;
int32_t
**
srs_ls_estimated_channel
=
nr_srs_info
->
srs_ls_estimated_channel
;
int16_t
ch_real
[
frame_parms
->
nb_antennas_rx
*
nr_srs_info
->
sc_list_length
];
int16_t
ch_imag
[
frame_parms
->
nb_antennas_rx
*
nr_srs_info
->
sc_list_length
];
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
View file @
52f6d38a
...
...
@@ -56,7 +56,7 @@ void nr_gnb_measurements(PHY_VARS_gNB *gNB, uint8_t ulsch_id, unsigned char harq
int
nr_est_timing_advance_pusch
(
PHY_VARS_gNB
*
phy_vars_gNB
,
int
UE_id
);
int
nr_est_timing_advance_srs
(
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
int32_t
**
srs_estimated_channel_time
);
const
int32_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
]
);
void
nr_pusch_ptrs_processing
(
PHY_VARS_gNB
*
gNB
,
NR_DL_FRAME_PARMS
*
frame_parms
,
...
...
@@ -72,10 +72,11 @@ int nr_srs_channel_estimation(const PHY_VARS_gNB *gNB,
const
nfapi_nr_srs_pdu_t
*
srs_pdu
,
const
nr_srs_info_t
*
nr_srs_info
,
const
int32_t
*
srs_generated_signal
,
const
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel_freq
,
int32_t
**
srs_estimated_channel_time
,
int32_t
**
srs_estimated_channel_time_shifted
,
int32_t
srs_received_signal
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_ls_estimated_channel
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_estimated_channel_freq
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)],
int32_t
srs_estimated_channel_time
[][
gNB
->
frame_parms
.
ofdm_symbol_size
],
int32_t
srs_estimated_channel_time_shifted
[][
gNB
->
frame_parms
.
ofdm_symbol_size
],
uint32_t
*
signal_power
,
uint32_t
*
noise_power_per_rb
,
uint32_t
*
noise_power
,
...
...
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
View file @
52f6d38a
...
...
@@ -330,7 +330,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
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)]
);
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 @
52f6d38a
...
...
@@ -98,7 +98,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
[][
gNB
->
frame_parms
.
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)]
)
{
if
(
nr_srs_info
->
sc_list_length
==
0
)
{
LOG_E
(
NR_PHY
,
"(%d.%d) nr_srs_info was not generated yet!
\n
"
,
frame
,
slot
);
...
...
openair1/PHY/defs_nr_common.h
View file @
52f6d38a
...
...
@@ -244,11 +244,6 @@ typedef struct {
uint16_t
sc_list
[
6
*
273
];
uint8_t
srs_generated_signal_bits
;
int32_t
srs_generated_signal
[
OFDM_SYMBOL_SIZE_SAMPLES_MAX
*
MAX_NUM_NR_SRS_SYMBOLS
];
int32_t
**
srs_received_signal
;
int32_t
**
srs_ls_estimated_channel
;
int32_t
**
srs_estimated_channel_freq
;
int32_t
**
srs_estimated_channel_time
;
int32_t
**
srs_estimated_channel_time_shifted
;
}
nr_srs_info_t
;
typedef
struct
{
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
52f6d38a
...
...
@@ -850,7 +850,14 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
LOG_D
(
NR_PHY
,
"(%d.%d) gNB is waiting for SRS, id = %i
\n
"
,
frame_rx
,
slot_rx
,
i
);
NR_DL_FRAME_PARMS
*
frame_parms
=
&
gNB
->
frame_parms
;
nfapi_nr_srs_pdu_t
*
srs_pdu
=
&
srs
->
srs_pdu
;
uint8_t
N_symb_SRS
=
1
<<
srs_pdu
->
num_symbols
;
int32_t
srs_received_signal
[
frame_parms
->
nb_antennas_rx
][
frame_parms
->
ofdm_symbol_size
*
N_symb_SRS
];
int32_t
srs_ls_estimated_channel
[
frame_parms
->
nb_antennas_rx
][
frame_parms
->
ofdm_symbol_size
*
N_symb_SRS
];
int32_t
srs_estimated_channel_freq
[
frame_parms
->
nb_antennas_rx
][
frame_parms
->
ofdm_symbol_size
*
N_symb_SRS
];
int32_t
srs_estimated_channel_time
[
frame_parms
->
nb_antennas_rx
][
frame_parms
->
ofdm_symbol_size
];
int32_t
srs_estimated_channel_time_shifted
[
frame_parms
->
nb_antennas_rx
][
frame_parms
->
ofdm_symbol_size
];
uint32_t
noise_power_per_rb
[
srs_pdu
->
bwp_size
];
int8_t
snr_per_rb
[
srs_pdu
->
bwp_size
];
uint32_t
signal_power
;
...
...
@@ -859,10 +866,10 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
// At least currently, the configuration is constant, so it is enough to generate the sequence just once.
if
(
gNB
->
nr_srs_info
[
i
]
->
sc_list_length
==
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
);
generate_srs_nr
(
srs_pdu
,
frame_parms
,
gNB
->
nr_srs_info
[
i
]
->
srs_generated_signal
,
gNB
->
nr_srs_info
[
i
],
AMP
,
frame_rx
,
slot_rx
);
}
const
int
srs_est
=
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
gNB
->
nr_srs_info
[
i
]
->
srs_received_signal
);
const
int
srs_est
=
nr_get_srs_signal
(
gNB
,
frame_rx
,
slot_rx
,
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
srs_received_signal
);
if
(
srs_est
>=
0
)
{
nr_srs_channel_estimation
(
gNB
,
...
...
@@ -871,10 +878,11 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
srs_pdu
,
gNB
->
nr_srs_info
[
i
],
gNB
->
nr_srs_info
[
i
]
->
srs_generated_signal
,
(
const
int32_t
**
)
gNB
->
nr_srs_info
[
i
]
->
srs_received_signal
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_freq
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time_shifted
,
srs_received_signal
,
srs_ls_estimated_channel
,
srs_estimated_channel_freq
,
srs_estimated_channel_time
,
srs_estimated_channel_time_shifted
,
&
signal_power
,
noise_power_per_rb
,
&
noise_power
,
...
...
@@ -883,10 +891,10 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
}
T
(
T_GNB_PHY_UL_FREQ_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_freq
[
0
],
gNB
->
frame_parms
.
ofdm_symbol_size
*
sizeof
(
int32_t
)));
T_BUFFER
(
srs_estimated_channel_freq
[
0
],
frame_parms
->
ofdm_symbol_size
*
sizeof
(
int32_t
)));
T
(
T_GNB_PHY_UL_TIME_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time_shifted
[
0
],
gNB
->
frame_parms
.
ofdm_symbol_size
*
sizeof
(
int32_t
)));
T_BUFFER
(
srs_estimated_channel_time_shifted
[
0
],
frame_parms
->
ofdm_symbol_size
*
sizeof
(
int32_t
)));
const
uint16_t
num_srs
=
gNB
->
UL_INFO
.
srs_ind
.
number_of_pdus
;
gNB
->
UL_INFO
.
srs_ind
.
pdu_list
=
&
gNB
->
srs_pdu_list
[
0
];
...
...
@@ -894,8 +902,8 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
gNB
->
UL_INFO
.
srs_ind
.
slot
=
slot_rx
;
gNB
->
srs_pdu_list
[
num_srs
].
handle
=
srs_pdu
->
handle
;
gNB
->
srs_pdu_list
[
num_srs
].
rnti
=
srs_pdu
->
rnti
;
gNB
->
srs_pdu_list
[
num_srs
].
timing_advance
=
srs_est
>=
0
?
nr_est_timing_advance_srs
(
&
gNB
->
frame_parms
,
(
const
int32_t
**
)
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time
)
:
0xFFFF
;
gNB
->
srs_pdu_list
[
num_srs
].
timing_advance
=
srs_est
>=
0
?
nr_est_timing_advance_srs
(
frame_parms
,
srs_estimated_channel_time
)
:
0xFFFF
;
gNB
->
srs_pdu_list
[
num_srs
].
num_symbols
=
1
<<
srs_pdu
->
num_symbols
;
gNB
->
srs_pdu_list
[
num_srs
].
wide_band_snr
=
srs_est
>=
0
?
(
snr
+
64
)
<<
1
:
0xFF
;
// 0xFF will be set if this field is invalid
gNB
->
srs_pdu_list
[
num_srs
].
num_reported_symbols
=
1
<<
srs_pdu
->
num_symbols
;
...
...
@@ -904,7 +912,7 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
}
fill_srs_reported_symbol_list
(
&
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
[
0
],
srs_pdu
,
gNB
->
frame_parms
.
N_RB_UL
,
frame_parms
->
N_RB_UL
,
snr_per_rb
,
srs_est
);
...
...
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