From 7db69e3ad57988f04cc636b9ce303b62afce81a8 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 21 Nov 2017 17:24:51 +0100 Subject: [PATCH] MPDCCH resource element fix --- openair1/PHY/LTE_TRANSPORT/edci.c | 4 ++-- openair1/SCHED/phy_procedures_lte_eNb.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/edci.c b/openair1/PHY/LTE_TRANSPORT/edci.c index e5a93c09de..1b5c7eeab8 100755 --- a/openair1/PHY/LTE_TRANSPORT/edci.c +++ b/openair1/PHY/LTE_TRANSPORT/edci.c @@ -449,7 +449,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, // add MPDCCH pilots int reset = 1; - //gain_lin_QPSK*=2; + gain_lin_QPSK*=2; for (i = 0; i < (24 * 6); i += 2) { if ((i & 0x1f) == 0) { s = lte_gold_generic(&x1, &x2, reset); @@ -458,7 +458,7 @@ void generate_mdci_top(PHY_VARS_eNB * eNB, int frame, int subframe, int16_t amp, ((int16_t *) & yIQ)[0] = (((s >> (i & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; ((int16_t *) & yIQ)[1] = (((s >> ((i + 1) & 0x1f)) & 1) == 1) ? -gain_lin_QPSK : gain_lin_QPSK; txF[mpdcch_dmrs_tab[(i >> 1)]] = yIQ; - txF[mpdcch_dmrs_tab[1+(i >> 1)]] = yIQ; + txF[1+mpdcch_dmrs_tab[(i >> 1)]] = yIQ; LOG_D(PHY, "mpdcch_dmrs pos %d: %d => (%d,%d)\n", i, off + mpdcch_dmrs_tab[(i >> 1)], ((int16_t *) & yIQ)[0], ((int16_t *) & yIQ)[1]); } diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 9f3b962ef9..8199f26053 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -399,7 +399,9 @@ phy_procedures_eNB_TX (PHY_VARS_eNB * eNB, eNB_rxtx_proc_t * proc, relaying_type if (num_mdci > 0) { LOG_I (PHY, "[eNB %" PRIu8 "] Frame %d, subframe %d: Calling generate_mdci_top (mpdcch) (num_dci %" PRIu8 ")\n", eNB->Mod_id, frame, subframe, num_mdci); - generate_mdci_top (eNB, frame, subframe, AMP, eNB->common_vars.txdataF); + generate_mdci_top (eNB, frame, subframe, AMP*3/4, eNB->common_vars.txdataF); + //write_output("/tmp/mpdcch.m","mpdcch_txF",(void*)&eNB->common_vars.txdataF[0][subframe*14*1024],14*1024,1,1); + //exit(-1); } #endif // Now scan UE specific DLSCH