From f97c7b952a4ed350999b823b89ad09c016384795 Mon Sep 17 00:00:00 2001 From: magounak Date: Wed, 17 Oct 2018 16:56:57 +0200 Subject: [PATCH] fixing bugs on dmrs symbol --- openair1/PHY/LTE_TRANSPORT/if4_tools.c | 1 - openair1/SCHED/ru_procedures.c | 19 +++++++++++++------ targets/RT/USER/lte-ru.c | 8 +++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c index 8b2fc1bac2..05aae6124b 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c @@ -285,7 +285,6 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint int slotoffsetF=0, blockoffsetF=0; eth_state_t *eth = (eth_state_t*) (ru->ifdevice.priv); int idx; - if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4+ru->idx, 1 ); if (ru->function == NGFI_RRU_IF4p5) { diff --git a/openair1/SCHED/ru_procedures.c b/openair1/SCHED/ru_procedures.c index c80b103eec..e0e4e1bdb7 100644 --- a/openair1/SCHED/ru_procedures.c +++ b/openair1/SCHED/ru_procedures.c @@ -101,6 +101,7 @@ void feptx0(RU_t *ru,int slot) { "ru->generate_dmrs_sync should not be set, frame_type %d, is_slave %d\n", fp->frame_type,ru->is_slave); */ + if (ru->generate_dmrs_sync == 1 && slot == 0 && subframe == 1 && aa==0) { int32_t dmrs[ru->frame_parms.ofdm_symbol_size*14] __attribute__((aligned(32))); int32_t *dmrsp[2] = {&dmrs[(3-ru->frame_parms.Ncp)*ru->frame_parms.ofdm_symbol_size],NULL}; @@ -128,12 +129,18 @@ void feptx0(RU_t *ru,int slot) { 1, fp); */ - } else { - normal_prefix_mod(&ru->common.txdataF_BF[aa][slot*slot_sizeF], - (int*)&ru->common.txdata[aa][slot_offset], - 7, - fp); - } + normal_prefix_mod(&ru->common.txdataF_BF[aa][slot*slot_sizeF], + (int*)&ru->common.txdata[aa][slot_offset], + 3, + fp); + } + else { + normal_prefix_mod(&ru->common.txdataF_BF[aa][slot*slot_sizeF], + (int*)&ru->common.txdata[aa][slot_offset], + 7, + fp); + + } } /* len = fp->samples_per_tti>>1; diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index c61d53c7f3..c9465a7995 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -422,6 +422,7 @@ void fh_if4p5_north_asynch_in(RU_t *ru,int *frame,int *subframe) { LOG_D(PHY,"fh_if4p5_north_asynch_in: RU %d, frame %d, subframe %d\n",ru->idx,*frame,*subframe); do { recv_IF4p5(ru, &frame_tx, &subframe_tx, &packet_type, &symbol_number); + LOG_D(PHY,"income frame.subframe %d.%d, our frame.subframe %d.%d.%d (symbol mask %x)\n",frame_tx,subframe_tx,*frame,*subframe,symbol_number,symbol_mask); if (ru->cmd == STOP_RU){ LOG_E(PHY,"Got STOP_RU\n"); pthread_mutex_lock(&proc->mutex_ru); @@ -795,9 +796,10 @@ void tx_rf(RU_t *ru) { ru->nb_tx, flags); ru->south_out_cnt++; - - LOG_D(PHY,"[TXPATH] RU %d tx_rf, writing to TS %llu, frame %d, unwrapped_frame %d, subframe %d\n",ru->idx, - (long long unsigned int)proc->timestamp_tx,proc->frame_tx,proc->frame_tx_unwrap,proc->subframe_tx); + //int se = dB_fixed(signal_energy(txp[0],siglen+sf_extension)); + + //LOG_D(PHY,"[TXPATH] RU %d tx_rf (en %d,len %d), writing to TS %llu, frame %d, unwrapped_frame %d, subframe %d\n",ru->idx,se,siglen+sf_extension, +// (long long unsigned int)proc->timestamp_tx,proc->frame_tx,proc->frame_tx_unwrap,proc->subframe_tx); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 0 );