From 79e1230a651841b95bc1b62889a69a382d0daa2d Mon Sep 17 00:00:00 2001 From: herlesupreeth Date: Mon, 12 Jun 2023 18:01:06 +0200 Subject: [PATCH 1/2] rrc_nr: fix applying of dedicated PUSCH and PDSCH DMRS configuration --- srsue/src/stack/rrc_nr/rrc_nr.cc | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/srsue/src/stack/rrc_nr/rrc_nr.cc b/srsue/src/stack/rrc_nr/rrc_nr.cc index 8f7ab358b3..e977b5377a 100644 --- a/srsue/src/stack/rrc_nr/rrc_nr.cc +++ b/srsue/src/stack/rrc_nr/rrc_nr.cc @@ -1231,15 +1231,9 @@ bool rrc_nr::apply_sp_cell_init_dl_pdsch(const asn1::rrc_nr::pdsch_cfg_s& pdsch_ if (pdsch_cfg.dmrs_dl_for_pdsch_map_type_a_present) { if (pdsch_cfg.dmrs_dl_for_pdsch_map_type_a.type() == setup_release_c::types_opts::setup) { - srsran_dmrs_sch_add_pos_t srsran_dmrs_sch_add_pos; - if (make_phy_dmrs_dl_additional_pos(pdsch_cfg.dmrs_dl_for_pdsch_map_type_a.setup(), &srsran_dmrs_sch_add_pos) == - true) { - phy_cfg.pdsch.dmrs_typeA.additional_pos = srsran_dmrs_sch_add_pos; - phy_cfg.pdsch.dmrs_typeA.present = true; - } else { - logger.warning("Warning while build srsran_dmrs_sch_add_pos structure"); - return false; - } + // See TS 38.331, DMRS-DownlinkConfig. Also, see TS 38.214, 5.1.6.2 - DM-RS reception procedure. + phy_cfg.pdsch.dmrs_typeA.additional_pos = srsran_dmrs_sch_add_pos_2; + phy_cfg.pdsch.dmrs_typeA.present = true; } else { logger.warning("Option dmrs_dl_for_pdsch_map_type_a not of type setup"); return false; @@ -1692,15 +1686,9 @@ bool rrc_nr::apply_sp_cell_ded_ul_pusch(const asn1::rrc_nr::pusch_cfg_s& pusch_c if (pusch_cfg.dmrs_ul_for_pusch_map_type_a_present) { if (pusch_cfg.dmrs_ul_for_pusch_map_type_a.type() == setup_release_c::types_opts::setup) { - srsran_dmrs_sch_add_pos_t srsran_dmrs_sch_add_pos; - if (make_phy_dmrs_ul_additional_pos(pusch_cfg.dmrs_ul_for_pusch_map_type_a.setup(), &srsran_dmrs_sch_add_pos) == - true) { - phy_cfg.pusch.dmrs_typeA.additional_pos = srsran_dmrs_sch_add_pos; - phy_cfg.pusch.dmrs_typeA.present = true; - } else { - logger.warning("Warning while build srsran_dmrs_sch_add_pos structure"); - return false; - } + // // See TS 38.331, DMRS-UplinkConfig. Also, see TS 38.214, 6.2.2 - UE DM-RS transmission procedure. + phy_cfg.pusch.dmrs_typeA.additional_pos = srsran_dmrs_sch_add_pos_2; + phy_cfg.pusch.dmrs_typeA.present = true; } else { logger.warning("Option dmrs_ul_for_pusch_map_type_a not of type setup"); return false; From 737c5ae71287fefc0a4a1c8076e9fc001bd3fb42 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 2 Jun 2023 14:17:39 -0600 Subject: [PATCH 2/2] RSRP fix for TX-port --- lib/src/phy/ch_estimation/chest_dl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/phy/ch_estimation/chest_dl.c b/lib/src/phy/ch_estimation/chest_dl.c index b10ab2f244..be115354b9 100644 --- a/lib/src/phy/ch_estimation/chest_dl.c +++ b/lib/src/phy/ch_estimation/chest_dl.c @@ -919,7 +919,7 @@ static float get_rsrp_neighbour_port(srsran_chest_dl_t* q, uint32_t port) static float get_rsrp(srsran_chest_dl_t* q) { float max = -1e9; - for (int i = 0; i < q->nof_rx_antennas; ++i) { + for (int i = 0; i < q->cell.nof_ports; ++i) { float v = get_rsrp_port(q, i); if (v > max) { max = v;