taking into account n_ta_offset in slot fep ul
This commit is contained in:
@@ -394,12 +394,13 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
|
||||
int sample_offset,
|
||||
int no_prefix)
|
||||
{
|
||||
uint32_t slot_offset;
|
||||
uint32_t rxdata_offset;
|
||||
int32_t slot_offset, rxdata_offset;
|
||||
|
||||
unsigned int nb_prefix_samples = (no_prefix ? 0 : frame_parms->nb_prefix_samples);
|
||||
unsigned int nb_prefix_samples0 = (no_prefix ? 0 : frame_parms->nb_prefix_samples0);
|
||||
|
||||
int tmp_dft_in[8192] __attribute__ ((aligned (32)));
|
||||
|
||||
void (*dft)(int16_t *,int16_t *, int);
|
||||
|
||||
switch (frame_parms->ofdm_symbol_size) {
|
||||
@@ -442,14 +443,26 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
|
||||
|
||||
slot_offset = frame_parms->get_samples_slot_timestamp(Ns,frame_parms,0);
|
||||
|
||||
|
||||
if(symbol == 0)
|
||||
rxdata_offset = slot_offset + nb_prefix_samples0 - SOFFSET;
|
||||
else
|
||||
rxdata_offset = slot_offset + nb_prefix_samples0 + (symbol * (frame_parms->ofdm_symbol_size + nb_prefix_samples)) - SOFFSET;
|
||||
|
||||
dft((int16_t *)&rxdata[rxdata_offset],
|
||||
(int16_t *)&rxdataF[symbol * frame_parms->ofdm_symbol_size], 1);
|
||||
if(sample_offset>rxdata_offset) {
|
||||
memcpy((void *)tmp_dft_in,
|
||||
(void *) &rxdata[frame_parms->samples_per_frame-sample_offset+rxdata_offset],
|
||||
(sample_offset-rxdata_offset)*sizeof(int));
|
||||
|
||||
memcpy((void *)&tmp_dft_in[sample_offset-rxdata_offset],
|
||||
(void *) &rxdata[0],
|
||||
(frame_parms->ofdm_symbol_size-sample_offset+rxdata_offset)*sizeof(int));
|
||||
|
||||
dft((int16_t *)&tmp_dft_in,
|
||||
(int16_t *)&rxdataF[symbol * frame_parms->ofdm_symbol_size], 1);
|
||||
}
|
||||
else
|
||||
dft((int16_t *)&rxdata[rxdata_offset-sample_offset],
|
||||
(int16_t *)&rxdataF[symbol * frame_parms->ofdm_symbol_size], 1);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ void nr_fep0(RU_t *ru, int first_half) {
|
||||
ru->common.rxdataF[aa],
|
||||
l,
|
||||
proc->tti_rx,
|
||||
0,
|
||||
ru->N_TA_offset,
|
||||
0);
|
||||
}
|
||||
}
|
||||
@@ -642,6 +642,8 @@ void nr_fep_full(RU_t *ru, int slot) {
|
||||
// if ((fp->frame_type == TDD) &&
|
||||
// (subframe_select(fp,proc->tti_rx) != NR_UPLINK_SLOT)) return;
|
||||
|
||||
LOG_D(PHY,"In fep_full for slot = %d\n", proc->tti_rx);
|
||||
|
||||
start_meas(&ru->ofdm_demod_stats);
|
||||
if (ru->idx == 0) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX, 1 );
|
||||
|
||||
@@ -655,7 +657,7 @@ void nr_fep_full(RU_t *ru, int slot) {
|
||||
ru->common.rxdataF[aa],
|
||||
l,
|
||||
proc->tti_rx,
|
||||
0,
|
||||
ru->N_TA_offset,
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user