Commit 619d34d7 authored by Bilel's avatar Bilel

[OAI-UE] UE T-tracer updates part 2

parent d9255b5c
...@@ -1992,11 +1992,11 @@ ID = UE_PHY_DL_CHANNEL_ESTIMATE ...@@ -1992,11 +1992,11 @@ ID = UE_PHY_DL_CHANNEL_ESTIMATE
ID = UE_PHY_PDCCH_IQ ID = UE_PHY_PDCCH_IQ
DESC = UE PDCCH received IQ data DESC = UE PDCCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,I : int,Q FORMAT = int,nb_rb : int,NB_RB_DL : int,symbols_per_tti : buffer,rxdataF_comp
ID = UE_PHY_PDCCH_ENERGY ID = UE_PHY_PDCCH_ENERGY
DESC = UE PDSCH 1 energy and threshold DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,energy : int,threshold FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdcch_ch_level00 : int,pdcch_ch_level01 : int,pdcch_ch_level10: int,pdcch_ch_level11
ID = UE_PHY_PDSCH_IQ ID = UE_PHY_PDSCH_IQ
DESC = UE PDSCH received IQ data DESC = UE PDSCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
...@@ -2004,12 +2004,16 @@ ID = UE_PHY_PDSCH_IQ ...@@ -2004,12 +2004,16 @@ ID = UE_PHY_PDSCH_IQ
ID = UE_PHY_PDSCH_ENERGY ID = UE_PHY_PDSCH_ENERGY
DESC = UE PDSCH 1 energy and threshold DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,energy : int,threshold FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdsch_ch_level00 : int,pdsch_ch_level01 : int,pdsch_ch_level10: int,pdsch_ch_level11
ID = UE_PHY_PUSCH_TX_POWER ID = UE_PHY_PUSCH_TX_POWER
DESC = UE PUSCH tx power DESC = UE PUSCH tx power
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,power FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pusch : int,ampl
ID = UE_PHY_PUCCH_TX_POWER ID = UE_PHY_PUCCH_TX_POWER
DESC = UE PDSCH 1 energy and threshold DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,power FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pucch : int,ampl
ID = UE_PHY_MEAS
DESC = UE PHY measurements
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,rsrp : int,rssi : int,snr
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "defs.h" #include "defs.h"
#include "PHY/defs.h" #include "PHY/defs.h"
#include "filt96_32.h" #include "filt96_32.h"
#include "T.h"
//#define DEBUG_CH //#define DEBUG_CH
int lte_dl_channel_estimation(PHY_VARS_UE *ue, int lte_dl_channel_estimation(PHY_VARS_UE *ue,
...@@ -739,7 +740,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *ue, ...@@ -739,7 +740,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *ue,
} }
#if T_TRACER #if T_TRACER
T(T_ENB_PHY_UL_CHANNEL_ESTIMATE, T_INT(eNB_id), T_INT(ue->Mod_id), T(T_UE_PHY_DL_CHANNEL_ESTIMATE, T_INT(eNB_id), T_INT(ue->Mod_id),
T_INT(ue->proc.proc_rxtx[(Ns>>1)&1].frame_rx%1024), T_INT(ue->proc.proc_rxtx[(Ns>>1)&1].subframe_rx), T_INT(ue->proc.proc_rxtx[(Ns>>1)&1].frame_rx%1024), T_INT(ue->proc.proc_rxtx[(Ns>>1)&1].subframe_rx),
T_INT(0), T_BUFFER(&ue->common_vars.dl_ch_estimates_time[eNB_offset][0][0], 512 * 4)); T_INT(0), T_BUFFER(&ue->common_vars.dl_ch_estimates_time[eNB_offset][0][0], 512 * 4));
#endif #endif
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include "PHY/sse_intrin.h" #include "PHY/sse_intrin.h"
#include "assertions.h" #include "assertions.h"
#include "T.h"
//#define DEBUG_DCI_ENCODING 1 //#define DEBUG_DCI_ENCODING 1
//#define DEBUG_DCI_DECODING 1 //#define DEBUG_DCI_DECODING 1
...@@ -1684,6 +1685,7 @@ int32_t avgP[4]; ...@@ -1684,6 +1685,7 @@ int32_t avgP[4];
int32_t rx_pdcch(LTE_UE_COMMON *common_vars, int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
LTE_UE_PDCCH **pdcch_vars, LTE_UE_PDCCH **pdcch_vars,
LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_FRAME_PARMS *frame_parms,
uint32_t frame,
uint8_t subframe, uint8_t subframe,
uint8_t eNB_id, uint8_t eNB_id,
MIMO_mode_t mimo_mode, MIMO_mode_t mimo_mode,
...@@ -1754,6 +1756,10 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars, ...@@ -1754,6 +1756,10 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
LOG_I(PHY,"subframe %d: pdcch log2_maxh = %d (%d,%d)\n",subframe,log2_maxh,avgP[0],avgs); LOG_I(PHY,"subframe %d: pdcch log2_maxh = %d (%d,%d)\n",subframe,log2_maxh,avgP[0],avgs);
#endif #endif
#if T_TRACER
T(T_UE_PHY_PDCCH_ENERGY, T_INT(eNB_id), T_INT(0), T_INT(frame%1024), T_INT(subframe),
T_INT(avgP[0]), T_INT(avgP[1]), T_INT(avgP[2]), T_INT(avgP[3]));
#endif
for (s=0; s<n_pdcch_symbols; s++) { for (s=0; s<n_pdcch_symbols; s++) {
pdcch_channel_compensation(pdcch_vars[eNB_id]->rxdataF_ext, pdcch_channel_compensation(pdcch_vars[eNB_id]->rxdataF_ext,
pdcch_vars[eNB_id]->dl_ch_estimates_ext, pdcch_vars[eNB_id]->dl_ch_estimates_ext,
...@@ -1858,10 +1864,11 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars, ...@@ -1858,10 +1864,11 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
} }
T(T_UE_PHY_PDCCH_IQ, T_INT(eNB_id), T_INT(0), #if T_TRACER
T_INT(-1), T_INT(subframe), T(T_UE_PHY_PDCCH_IQ, T_INT(frame_parms->N_RB_DL), T_INT(frame_parms->N_RB_DL),
T_INT(0), T_BUFFER(pdcch_vars[eNB_id]->llr, frame_parms->N_RB_DL*12*n_pdcch_symbols* 4)); T_INT(n_pdcch_symbols),
T_BUFFER(pdcch_vars[eNB_id]->rxdataF_comp, frame_parms->N_RB_DL*12*n_pdcch_symbols* 4));
#endif
// decode pcfich here // decode pcfich here
n_pdcch_symbols = rx_pcfich(frame_parms, n_pdcch_symbols = rx_pcfich(frame_parms,
......
...@@ -5584,6 +5584,16 @@ int generate_ue_dlsch_params_from_dci(int frame, ...@@ -5584,6 +5584,16 @@ int generate_ue_dlsch_params_from_dci(int frame,
printf("PDSCH dlsch0 UE: pwr_off %d\n",dlsch0_harq->dl_power_off); printf("PDSCH dlsch0 UE: pwr_off %d\n",dlsch0_harq->dl_power_off);
} }
#endif
#if T_TRACER
if( (dlsch[0]->rnti != si_rnti) && (dlsch[0]->rnti != ra_rnti) && (dlsch[0]->rnti != p_rnti))
{
T(T_UE_PHY_DLSCH_UE_DCI, T_INT(0), T_INT(frame%1024), T_INT(subframe), T_INT(0),
T_INT(dlsch[0]->rnti), T_INT(dci_format),
T_INT(harq_pid),
T_INT(dlsch0_harq->mcs),
T_INT(dlsch0_harq->TBS));
}
#endif #endif
dlsch[0]->active=1; dlsch[0]->active=1;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include "defs.h" #include "defs.h"
#include "extern.h" #include "extern.h"
#include "PHY/sse_intrin.h" #include "PHY/sse_intrin.h"
#include "T.h"
#ifndef USER_MODE #ifndef USER_MODE
#define NOCYGWIN_STATIC static #define NOCYGWIN_STATIC static
...@@ -74,6 +74,7 @@ int rx_pdsch(PHY_VARS_UE *ue, ...@@ -74,6 +74,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
PDSCH_t type, PDSCH_t type,
unsigned char eNB_id, unsigned char eNB_id,
unsigned char eNB_id_i, //if this == ue->n_connected_eNB, we assume MU interference unsigned char eNB_id_i, //if this == ue->n_connected_eNB, we assume MU interference
uint32_t frame,
uint8_t subframe, uint8_t subframe,
unsigned char symbol, unsigned char symbol,
unsigned char first_symbol_flag, unsigned char first_symbol_flag,
...@@ -297,6 +298,13 @@ int rx_pdsch(PHY_VARS_UE *ue, ...@@ -297,6 +298,13 @@ int rx_pdsch(PHY_VARS_UE *ue,
// avgs = cmax(avgs,avg[(aarx<<1)+aatx]); // avgs = cmax(avgs,avg[(aarx<<1)+aatx]);
#if T_TRACER
if (type == PDSCH)
{
T(T_UE_PHY_PDSCH_ENERGY, T_INT(eNB_id), T_INT(0), T_INT(frame%1024), T_INT(subframe),
T_INT(avg[0]), T_INT(avg[1]), T_INT(avg[2]), T_INT(avg[3]));
}
#endif
pdsch_vars[eNB_id]->log2_maxh = (log2_approx(avgs)/2)+1; pdsch_vars[eNB_id]->log2_maxh = (log2_approx(avgs)/2)+1;
// + log2_approx(frame_parms->nb_antenna_ports_eNB-1) //-1 because log2_approx counts the number of bits // + log2_approx(frame_parms->nb_antenna_ports_eNB-1) //-1 because log2_approx counts the number of bits
...@@ -826,11 +834,13 @@ int rx_pdsch(PHY_VARS_UE *ue, ...@@ -826,11 +834,13 @@ int rx_pdsch(PHY_VARS_UE *ue,
break; break;
} }
T(T_UE_PHY_PDSCH_IQ, T_INT(eNB_id), T_INT(ue->Mod_id), T_INT(-1), #if T_TRACER
T(T_UE_PHY_PDSCH_IQ, T_INT(eNB_id), T_INT(ue->Mod_id), T_INT(frame%1024),
T_INT(subframe), T_INT(nb_rb), T_INT(subframe), T_INT(nb_rb),
T_INT(frame_parms->N_RB_UL), T_INT(frame_parms->symbols_per_tti), T_INT(frame_parms->N_RB_UL), T_INT(frame_parms->symbols_per_tti),
T_BUFFER(&pdsch_vars[eNB_id]->rxdataF_comp0[eNB_id][0], T_BUFFER(&pdsch_vars[eNB_id]->rxdataF_comp0[eNB_id][0],
2 * /* ulsch[UE_id]->harq_processes[harq_pid]->nb_rb */ frame_parms->N_RB_UL *12*frame_parms->symbols_per_tti*2)); 2 * /* ulsch[UE_id]->harq_processes[harq_pid]->nb_rb */ frame_parms->N_RB_UL *12*frame_parms->symbols_per_tti*2));
#endif
return(0); return(0);
} }
......
...@@ -1414,8 +1414,10 @@ void rx_phich(PHY_VARS_UE *ue, ...@@ -1414,8 +1414,10 @@ void rx_phich(PHY_VARS_UE *ue,
//LOG_I(PHY,"[HARQ-UL harqId: %d] PHICH NACK ==> subframe_scheduling_flag = %d round: %d\n", harq_pid, ulsch->harq_processes[harq_pid]->subframe_scheduling_flag,ulsch->harq_processes[harq_pid]->round); //LOG_I(PHY,"[HARQ-UL harqId: %d] PHICH NACK ==> subframe_scheduling_flag = %d round: %d\n", harq_pid, ulsch->harq_processes[harq_pid]->subframe_scheduling_flag,ulsch->harq_processes[harq_pid]->round);
} }
} }
T(T_UE_PHY_ULSCH_UE_NACK, T_INT(ue->Mod_id), T_INT(proc->frame_rx%1024), T_INT(subframe), T_INT(i), T_INT(ulsch->rnti), #if T_TRACER
T(T_UE_PHY_ULSCH_UE_NACK, T_INT(eNB_id), T_INT(proc->frame_rx%1024), T_INT(subframe), T_INT(ue->Mod_id), T_INT(ulsch->rnti),
T_INT(harq_pid)); T_INT(harq_pid));
#endif
} else { //ACK } else { //ACK
if (ue->ulsch_Msg3_active[eNB_id] == 1) { if (ue->ulsch_Msg3_active[eNB_id] == 1) {
...@@ -1450,8 +1452,11 @@ void rx_phich(PHY_VARS_UE *ue, ...@@ -1450,8 +1452,11 @@ void rx_phich(PHY_VARS_UE *ue,
// inform MAC? // inform MAC?
ue->ulsch_Msg3_active[eNB_id] = 0; ue->ulsch_Msg3_active[eNB_id] = 0;
T(T_UE_PHY_ULSCH_UE_ACK, T_INT(ue->Mod_id), T_INT(proc->frame_rx%1024), T_INT(subframe), T_INT(i), T_INT(ulsch->rnti), #if T_TRACER
T(T_UE_PHY_ULSCH_UE_ACK, T_INT(eNB_id), T_INT(proc->frame_rx%1024), T_INT(subframe), T_INT(ue->Mod_id), T_INT(ulsch->rnti),
T_INT(harq_pid)); T_INT(harq_pid));
#endif
} }
} }
......
...@@ -1179,6 +1179,7 @@ int32_t rx_pdsch(PHY_VARS_UE *phy_vars_ue, ...@@ -1179,6 +1179,7 @@ int32_t rx_pdsch(PHY_VARS_UE *phy_vars_ue,
PDSCH_t type, PDSCH_t type,
uint8_t eNB_id, uint8_t eNB_id,
uint8_t eNB_id_i, uint8_t eNB_id_i,
uint32_t frame,
uint8_t subframe, uint8_t subframe,
uint8_t symbol, uint8_t symbol,
uint8_t first_symbol_flag, uint8_t first_symbol_flag,
...@@ -1189,6 +1190,7 @@ int32_t rx_pdsch(PHY_VARS_UE *phy_vars_ue, ...@@ -1189,6 +1190,7 @@ int32_t rx_pdsch(PHY_VARS_UE *phy_vars_ue,
int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars, int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars,
LTE_UE_PDCCH **lte_ue_pdcch_vars, LTE_UE_PDCCH **lte_ue_pdcch_vars,
LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_FRAME_PARMS *frame_parms,
uint32_t frame,
uint8_t subframe, uint8_t subframe,
uint8_t eNB_id, uint8_t eNB_id,
MIMO_mode_t mimo_mode, MIMO_mode_t mimo_mode,
......
...@@ -66,6 +66,8 @@ fifo_dump_emos_UE emos_dump_UE; ...@@ -66,6 +66,8 @@ fifo_dump_emos_UE emos_dump_UE;
#include "PHY/CODING/extern.h" #include "PHY/CODING/extern.h"
#include "T.h"
#define DLSCH_RB_ALLOC 0x1fbf // skip DC RB (total 23/25 RBs) #define DLSCH_RB_ALLOC 0x1fbf // skip DC RB (total 23/25 RBs)
#define DLSCH_RB_ALLOC_12 0x0aaa // skip DC RB (total 23/25 RBs) #define DLSCH_RB_ALLOC_12 0x0aaa // skip DC RB (total 23/25 RBs)
...@@ -2484,6 +2486,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint ...@@ -2484,6 +2486,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
rx_pdcch(&ue->common_vars, rx_pdcch(&ue->common_vars,
ue->pdcch_vars, ue->pdcch_vars,
&ue->frame_parms, &ue->frame_parms,
proc->frame_rx,
subframe_rx, subframe_rx,
eNB_id, eNB_id,
(ue->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI, (ue->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI,
...@@ -2604,11 +2607,12 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint ...@@ -2604,11 +2607,12 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
P_RNTI, P_RNTI,
ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id])==0)) { ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id])==0)) {
T(T_UE_PHY_DLSCH_UE_DCI, T_INT(eNB_id), T_INT(frame_rx%1024), T_INT(subframe_rx), T_INT(ue->Mod_id),
/*T(T_UE_PHY_DLSCH_UE_DCI, T_INT(eNB_id), T_INT(frame_rx%1024), T_INT(subframe_rx), T_INT(ue->Mod_id),
T_INT(dci_alloc_rx[i].rnti), T_INT(dci_alloc_rx[i].format), T_INT(dci_alloc_rx[i].rnti), T_INT(dci_alloc_rx[i].format),
T_INT(ue->dlsch[eNB_id][0]->current_harq_pid), T_INT(ue->dlsch[eNB_id][0]->current_harq_pid),
T_INT(ue->dlsch[eNB_id][0]->harq_processes[ue->dlsch[eNB_id][0]->current_harq_pid]->mcs), T_INT(ue->dlsch[eNB_id][0]->harq_processes[ue->dlsch[eNB_id][0]->current_harq_pid]->mcs),
T_INT(ue->dlsch[eNB_id][0]->harq_processes[ue->dlsch[eNB_id][0]->current_harq_pid]->TBS)); T_INT(ue->dlsch[eNB_id][0]->harq_processes[ue->dlsch[eNB_id][0]->current_harq_pid]->TBS));*/
ue->dlsch_received[eNB_id]++; ue->dlsch_received[eNB_id]++;
...@@ -2750,11 +2754,8 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint ...@@ -2750,11 +2754,8 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
eNB_id, eNB_id,
0)==0)) { 0)==0)) {
#ifdef DEBUG_PHY_PROC #if T_TRACER
LOG_D(PHY,"[UE %d] Generate UE ULSCH C_RNTI format 0 (subframe %d)\n",ue->Mod_id,subframe_rx); LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
#endif
LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
uint8_t harq_pid = subframe2harq_pid(frame_parms, uint8_t harq_pid = subframe2harq_pid(frame_parms,
pdcch_alloc2ul_frame(frame_parms,proc->frame_rx,proc->subframe_rx), pdcch_alloc2ul_frame(frame_parms,proc->frame_rx,proc->subframe_rx),
pdcch_alloc2ul_subframe(frame_parms,proc->subframe_rx)); pdcch_alloc2ul_subframe(frame_parms,proc->subframe_rx));
...@@ -2766,6 +2767,10 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint ...@@ -2766,6 +2767,10 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->first_rb), T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->first_rb),
T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->nb_rb), T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->nb_rb),
T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->TBS)); T_INT(ue->ulsch[eNB_id]->harq_processes[harq_pid]->TBS));
#endif
#ifdef DEBUG_PHY_PROC
LOG_D(PHY,"[UE %d] Generate UE ULSCH C_RNTI format 0 (subframe %d)\n",ue->Mod_id,subframe_rx);
#endif
} }
} else if( (dci_alloc_rx[i].rnti == ue->ulsch[eNB_id]->cba_rnti[0]) && } else if( (dci_alloc_rx[i].rnti == ue->ulsch[eNB_id]->cba_rnti[0]) &&
...@@ -3015,6 +3020,7 @@ void ue_pdsch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, int eNB_id, PDSC ...@@ -3015,6 +3020,7 @@ void ue_pdsch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, int eNB_id, PDSC
pdsch, pdsch,
eNB_id, eNB_id,
eNB_id_i, eNB_id_i,
proc->frame_rx,
subframe_rx, // subframe, subframe_rx, // subframe,
m, m,
first_symbol_flag, first_symbol_flag,
......
...@@ -3199,6 +3199,7 @@ PMI_FEEDBACK: ...@@ -3199,6 +3199,7 @@ PMI_FEEDBACK:
rx_pdcch(&UE->common_vars, rx_pdcch(&UE->common_vars,
UE->pdcch_vars, UE->pdcch_vars,
&UE->frame_parms, &UE->frame_parms,
0, // frame
subframe, subframe,
0, 0,
(UE->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI, (UE->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI,
......
...@@ -1091,6 +1091,7 @@ int main(int argc, char **argv) ...@@ -1091,6 +1091,7 @@ int main(int argc, char **argv)
rx_pdcch(&UE->common_vars, rx_pdcch(&UE->common_vars,
UE->pdcch_vars, UE->pdcch_vars,
&UE->frame_parms, &UE->frame_parms,
frame,
subframe, subframe,
0, 0,
(UE->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI, (UE->frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI,
......
...@@ -1490,6 +1490,7 @@ int main(int argc, char **argv) ...@@ -1490,6 +1490,7 @@ int main(int argc, char **argv)
rx_pdcch(&PHY_vars_UE[UE_idx]->lte_ue_common_vars, rx_pdcch(&PHY_vars_UE[UE_idx]->lte_ue_common_vars,
PHY_vars_UE[UE_idx]->lte_ue_pdcch_vars, PHY_vars_UE[UE_idx]->lte_ue_pdcch_vars,
&PHY_vars_UE[UE_idx]->lte_frame_parms, &PHY_vars_UE[UE_idx]->lte_frame_parms,
frame,
subframe, subframe,
0, 0,
(PHY_vars_UE[UE_idx]->lte_frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI, (PHY_vars_UE[UE_idx]->lte_frame_parms.mode1_flag == 1) ? SISO : ALAMOUTI,
...@@ -1534,6 +1535,7 @@ int main(int argc, char **argv) ...@@ -1534,6 +1535,7 @@ int main(int argc, char **argv)
PDSCH, PDSCH,
0, 0,
1, 1,
frame,
subframe, // subframe, subframe, // subframe,
l, // symbol l, // symbol
(l==PHY_vars_UE[UE_idx]->lte_ue_pdcch_vars[0]->num_pdcch_symbols)?1:0, // first_symbol_flag (l==PHY_vars_UE[UE_idx]->lte_ue_pdcch_vars[0]->num_pdcch_symbols)?1:0, // first_symbol_flag
...@@ -1564,6 +1566,7 @@ int main(int argc, char **argv) ...@@ -1564,6 +1566,7 @@ int main(int argc, char **argv)
PDSCH, PDSCH,
0, 0,
1, 1,
frame,
subframe, // subframe, subframe, // subframe,
l, // symbol l, // symbol
0, // first_symbol_flag 0, // first_symbol_flag
...@@ -1588,6 +1591,7 @@ int main(int argc, char **argv) ...@@ -1588,6 +1591,7 @@ int main(int argc, char **argv)
PDSCH, PDSCH,
0, 0,
1, 1,
frame,
subframe, // subframe, subframe, // subframe,
l, // symbol l, // symbol
0, // first_symbol_flag 0, // first_symbol_flag
...@@ -1618,6 +1622,7 @@ int main(int argc, char **argv) ...@@ -1618,6 +1622,7 @@ int main(int argc, char **argv)
PDSCH, PDSCH,
0, 0,
1, 1,
frame,
subframe, // subframe, subframe, // subframe,
l, // symbol l, // symbol
0, // first_symbol_flag 0, // first_symbol_flag
......
...@@ -75,6 +75,8 @@ ...@@ -75,6 +75,8 @@
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/OPT/opt.h" #include "UTIL/OPT/opt.h"
#include "T.h"
#define FRAME_PERIOD 100000000ULL #define FRAME_PERIOD 100000000ULL
#define DAQ_PERIOD 66667ULL #define DAQ_PERIOD 66667ULL
...@@ -1182,6 +1184,9 @@ void *UE_thread(void *arg) { ...@@ -1182,6 +1184,9 @@ void *UE_thread(void *arg) {
proc->frame_tx = proc->frame_rx + ((proc->subframe_rx>5)?1:0); proc->frame_tx = proc->frame_rx + ((proc->subframe_rx>5)?1:0);
proc->timestamp_tx = timestamp+(4*UE->frame_parms.samples_per_tti)-UE->frame_parms.ofdm_symbol_size-UE->frame_parms.nb_prefix_samples0; proc->timestamp_tx = timestamp+(4*UE->frame_parms.samples_per_tti)-UE->frame_parms.ofdm_symbol_size-UE->frame_parms.nb_prefix_samples0;
#if T_TRACER
T(T_UE_MASTER_TICK, T_INT(0), T_INT(proc->frame_rx%1024), T_INT(proc->subframe_rx));
#endif
/* /*
if (sf != (timestamp/UE->frame_parms.samples_per_tti)%10) { if (sf != (timestamp/UE->frame_parms.samples_per_tti)%10) {
LOG_E(PHY,"steady-state UE_thread error : frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d, rx subframe %d\n",proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx,(timestamp/UE->frame_parms.samples_per_tti)%10); LOG_E(PHY,"steady-state UE_thread error : frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d, rx subframe %d\n",proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx,(timestamp/UE->frame_parms.samples_per_tti)%10);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment