diff --git a/lib/src/phy/ch_estimation/chest_dl.c b/lib/src/phy/ch_estimation/chest_dl.c index 460064d45..eca0012d7 100644 --- a/lib/src/phy/ch_estimation/chest_dl.c +++ b/lib/src/phy/ch_estimation/chest_dl.c @@ -928,7 +928,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; diff --git a/srsue/src/stack/rrc_nr/rrc_nr.cc b/srsue/src/stack/rrc_nr/rrc_nr.cc index 9e265baa1..325ee70ad 100644 --- a/srsue/src/stack/rrc_nr/rrc_nr.cc +++ b/srsue/src/stack/rrc_nr/rrc_nr.cc @@ -1240,15 +1240,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; @@ -1701,15 +1695,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;