Commit 6d7d8848 authored by Roberto Louro Magueta's avatar Roberto Louro Magueta

Merge branch 'develop-SRS-Measurements' into develop-SRS-MIMO

# Conflicts:
#	openair1/PHY/INIT/nr_init.c
#	openair1/PHY/INIT/nr_init_ue.c
#	openair1/PHY/defs_nr_common.h
parents ad5a3e8d 07a3634e
......@@ -615,11 +615,6 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
gNB->nr_srs_info[id] = (nr_srs_info_t *)malloc16_clear(sizeof(nr_srs_info_t));
gNB->nr_srs_info[id]->k_0_p = (uint8_t**)malloc16_clear(MAX_NUM_NR_SRS_AP*sizeof(uint8_t*));
gNB->nr_srs_info[id]->srs_generated_signal = (int32_t**)malloc16_clear(MAX_NUM_NR_SRS_AP*sizeof(int32_t*));
gNB->nr_srs_info[id]->signal_power = (uint32_t*)malloc16_clear(sizeof(uint32_t));
gNB->nr_srs_info[id]->noise_power_per_rb = (uint32_t*)malloc16_clear(fp->N_RB_UL*sizeof(uint32_t));
gNB->nr_srs_info[id]->noise_power = (uint32_t*)malloc16_clear(sizeof(uint32_t));
gNB->nr_srs_info[id]->snr_per_rb = (int8_t*)malloc16_clear(fp->N_RB_UL*sizeof(int8_t));
gNB->nr_srs_info[id]->snr = (int8_t*)malloc16_clear(sizeof(int8_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**));
......@@ -818,11 +813,6 @@ void phy_free_nr_gNB(PHY_VARS_gNB *gNB)
}
free_and_zero(gNB->nr_srs_info[id]->k_0_p);
free_and_zero(gNB->nr_srs_info[id]->srs_generated_signal);
free_and_zero(gNB->nr_srs_info[id]->signal_power);
free_and_zero(gNB->nr_srs_info[id]->noise_power_per_rb);
free_and_zero(gNB->nr_srs_info[id]->noise_power);
free_and_zero(gNB->nr_srs_info[id]->snr_per_rb);
free_and_zero(gNB->nr_srs_info[id]->snr);
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);
......
......@@ -249,11 +249,11 @@ typedef struct {
int32_t ***srs_estimated_channel_freq;
int32_t ***srs_estimated_channel_time;
int32_t ***srs_estimated_channel_time_shifted;
uint32_t *signal_power;
uint32_t *noise_power_per_rb;
uint32_t *noise_power;
int8_t *snr_per_rb;
int8_t *snr;
uint32_t signal_power;
uint32_t noise_power_per_rb[273];
uint32_t noise_power;
int8_t snr_per_rb[273];
int8_t snr;
} nr_srs_info_t;
typedef struct {
......
......@@ -878,11 +878,11 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
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,
gNB->nr_srs_info[i]->signal_power,
&gNB->nr_srs_info[i]->signal_power,
gNB->nr_srs_info[i]->noise_power_per_rb,
gNB->nr_srs_info[i]->noise_power,
&gNB->nr_srs_info[i]->noise_power,
gNB->nr_srs_info[i]->snr_per_rb,
gNB->nr_srs_info[i]->snr);
&gNB->nr_srs_info[i]->snr);
}
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),
......@@ -900,7 +900,7 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
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[0]) : 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 ? (*gNB->nr_srs_info[i]->snr + 64)<<1 : 0xFF; // 0xFF will be set if this field is invalid
gNB->srs_pdu_list[num_srs].wide_band_snr = srs_est >= 0 ? (gNB->nr_srs_info[i]->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;
if(!gNB->srs_pdu_list[num_srs].reported_symbol_list) {
gNB->srs_pdu_list[num_srs].reported_symbol_list = (nfapi_nr_srs_indication_reported_symbol_t*) calloc(1, gNB->srs_pdu_list[num_srs].num_reported_symbols*sizeof(nfapi_nr_srs_indication_reported_symbol_t));
......
......@@ -124,7 +124,7 @@ void nr_schedule_srs(int module_id, frame_t frame) {
sched_ctrl->sched_srs.srs_scheduled = false;
if((sched_ctrl->ul_failure == 1 && get_softmodem_params()->phy_test==0) ||
!UE->Msg4_ACKed || sched_ctrl->rrc_processing_timer > 0) {
sched_ctrl->rrc_processing_timer > 0) {
continue;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment