Use correlation for neighbour RSRP measurement

master
Ismael Gomez 6 years ago
parent abef6ce152
commit 67b6a40c1b

@ -55,7 +55,7 @@ typedef struct SRSLTE_API {
float snr_ant_port_db[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORTS]; float snr_ant_port_db[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORTS];
float rsrp; float rsrp;
float rsrp_dbm; float rsrp_dbm;
float rsrp_neigh_dbm; float rsrp_neigh;
float rsrp_port_dbm[SRSLTE_MAX_PORTS]; float rsrp_port_dbm[SRSLTE_MAX_PORTS];
float rsrp_ant_port_dbm[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORTS]; float rsrp_ant_port_dbm[SRSLTE_MAX_PORTS][SRSLTE_MAX_PORTS];
float rsrq; float rsrq;

@ -851,7 +851,7 @@ static void fill_res(srslte_chest_dl_t* q, srslte_chest_dl_res_t* res)
res->cfo = q->cfo; res->cfo = q->cfo;
res->rsrp = get_rsrp(q); res->rsrp = get_rsrp(q);
res->rsrp_dbm = dbm(res->rsrp); res->rsrp_dbm = dbm(res->rsrp);
res->rsrp_neigh_dbm = dbm(get_rsrp_neighbour(q)); res->rsrp_neigh = get_rsrp_neighbour(q);
res->rsrq = get_rsrq(q); res->rsrq = get_rsrq(q);
res->rsrq_db = db(res->rsrq); res->rsrq_db = db(res->rsrq);
res->snr_db = db(get_snr(q)); res->snr_db = db(get_snr(q));

@ -54,6 +54,7 @@ void measure::init(cf_t* buffer[SRSLTE_MAX_PORTS],
return; return;
} }
worker_com->set_ue_dl_cfg(&ue_dl_cfg); worker_com->set_ue_dl_cfg(&ue_dl_cfg);
ue_dl_cfg.chest_cfg.rsrp_neighbour = true;
reset(); reset();
} }
@ -192,7 +193,7 @@ measure::ret_code measure::run_subframe(uint32_t sf_idx)
return ERROR; return ERROR;
} }
float rsrp = ue_dl.chest_res.rsrp; float rsrp = ue_dl.chest_res.rsrp_neigh;
float rsrq = ue_dl.chest_res.rsrq; float rsrq = ue_dl.chest_res.rsrq;
float snr = ue_dl.chest_res.snr_db; float snr = ue_dl.chest_res.snr_db;
float rssi = srslte_vec_avg_power_cf(buffer[0], (uint32_t)SRSLTE_SF_LEN_PRB(current_prb)); float rssi = srslte_vec_avg_power_cf(buffer[0], (uint32_t)SRSLTE_SF_LEN_PRB(current_prb));

Loading…
Cancel
Save