Rework of UE in lte-softmodem.c for ExpressMIMO2 target
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6484 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -45,7 +45,7 @@
|
|||||||
#include "SCHED/extern.h"
|
#include "SCHED/extern.h"
|
||||||
#include "UTIL/LOG/vcd_signal_dumper.h"
|
#include "UTIL/LOG/vcd_signal_dumper.h"
|
||||||
|
|
||||||
//#define PRACH_DEBUG 1
|
#define PRACH_DEBUG 1
|
||||||
|
|
||||||
uint16_t NCS_unrestricted[16] = {0,13,15,18,22,26,32,38,46,59,76,93,119,167,279,419};
|
uint16_t NCS_unrestricted[16] = {0,13,15,18,22,26,32,38,46,59,76,93,119,167,279,419};
|
||||||
uint16_t NCS_restricted[15] = {15,18,22,26,32,38,46,55,68,82,100,128,158,202,237}; // high-speed case
|
uint16_t NCS_restricted[15] = {15,18,22,26,32,38,46,55,68,82,100,128,158,202,237}; // high-speed case
|
||||||
|
|||||||
@@ -403,6 +403,7 @@ typedef struct
|
|||||||
uint8_t Mod_id;
|
uint8_t Mod_id;
|
||||||
uint8_t CC_id;
|
uint8_t CC_id;
|
||||||
uint8_t local_flag;
|
uint8_t local_flag;
|
||||||
|
int is_synchronized;
|
||||||
int instance_cnt_tx;
|
int instance_cnt_tx;
|
||||||
int instance_cnt_rx;
|
int instance_cnt_rx;
|
||||||
int instance_cnt_synch;
|
int instance_cnt_synch;
|
||||||
|
|||||||
@@ -624,7 +624,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
int8_t Po_PUCCH;
|
int8_t Po_PUCCH;
|
||||||
int32_t ulsch_start=0;
|
int32_t ulsch_start=0;
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
int ulsch_end=0,overflow=0;
|
int overflow=0;
|
||||||
int k,l;
|
int k,l;
|
||||||
#endif
|
#endif
|
||||||
int slot_tx = phy_vars_ue->slot_tx;
|
int slot_tx = phy_vars_ue->slot_tx;
|
||||||
@@ -637,6 +637,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX,VCD_FUNCTION_IN);
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX,VCD_FUNCTION_IN);
|
||||||
|
|
||||||
start_meas(&phy_vars_ue->phy_proc_tx);
|
start_meas(&phy_vars_ue->phy_proc_tx);
|
||||||
|
|
||||||
#ifdef EMOS
|
#ifdef EMOS
|
||||||
@@ -649,7 +650,8 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
if ((abstraction_flag==0)) {
|
if ((abstraction_flag==0)) {
|
||||||
for (aa=0;aa<frame_parms->nb_antennas_tx;aa++){
|
for (aa=0;aa<frame_parms->nb_antennas_tx;aa++){
|
||||||
memset(&phy_vars_ue->lte_ue_common_vars.txdataF[aa][subframe_tx*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti],
|
memset(&phy_vars_ue->lte_ue_common_vars.txdataF[aa][subframe_tx*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti],
|
||||||
0,frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*sizeof(int32_t));
|
0,
|
||||||
|
frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti*sizeof(int32_t));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1180,18 +1182,19 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
#endif // end CBA
|
#endif // end CBA
|
||||||
|
|
||||||
if (abstraction_flag == 0) {
|
if (abstraction_flag == 0) {
|
||||||
if (generate_ul_signal == 1 ) {
|
nsymb = (frame_parms->Ncp == 0) ? 14 : 12;
|
||||||
|
|
||||||
nsymb = (frame_parms->Ncp == 0) ? 14 : 12;
|
|
||||||
|
|
||||||
#ifdef EXMIMO //this is the EXPRESS MIMO case
|
#ifdef EXMIMO //this is the EXPRESS MIMO case
|
||||||
ulsch_start = (phy_vars_ue->rx_offset+subframe_tx*frame_parms->samples_per_tti-openair_daq_vars.timing_advance-phy_vars_ue->timing_advance-phy_vars_ue->N_TA_offset+5)%(LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_tti);
|
ulsch_start = (phy_vars_ue->rx_offset+subframe_tx*frame_parms->samples_per_tti-openair_daq_vars.timing_advance-phy_vars_ue->timing_advance-phy_vars_ue->N_TA_offset+5)%(LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_tti);
|
||||||
#else //this is the normal case
|
#else //this is the normal case
|
||||||
ulsch_start = (frame_parms->samples_per_tti*subframe_tx)-phy_vars_ue->N_TA_offset;
|
ulsch_start = (frame_parms->samples_per_tti*subframe_tx)-phy_vars_ue->N_TA_offset;
|
||||||
#endif //else EXMIMO
|
#endif //else EXMIMO
|
||||||
|
if (generate_ul_signal == 1 ) {
|
||||||
|
|
||||||
|
|
||||||
start_meas(&phy_vars_ue->ofdm_mod_stats);
|
|
||||||
for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
|
start_meas(&phy_vars_ue->ofdm_mod_stats);
|
||||||
|
for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
|
||||||
if (frame_parms->Ncp == 1)
|
if (frame_parms->Ncp == 1)
|
||||||
PHY_ofdm_mod(&phy_vars_ue->lte_ue_common_vars.txdataF[aa][subframe_tx*nsymb*frame_parms->ofdm_symbol_size],
|
PHY_ofdm_mod(&phy_vars_ue->lte_ue_common_vars.txdataF[aa][subframe_tx*nsymb*frame_parms->ofdm_symbol_size],
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
@@ -1214,18 +1217,18 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
#endif
|
#endif
|
||||||
nsymb,
|
nsymb,
|
||||||
&phy_vars_ue->lte_frame_parms);
|
&phy_vars_ue->lte_frame_parms);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (subframe_tx == 8) {
|
if (subframe_tx == 8) {
|
||||||
printf("Symbol 0 %p (offset %d) base %p\n",
|
printf("Symbol 0 %p (offset %d) base %p\n",
|
||||||
&phy_vars_ue->lte_ue_common_vars.txdataF[0][nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe],
|
&phy_vars_ue->lte_ue_common_vars.txdataF[0][nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe],
|
||||||
nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe,
|
nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe,
|
||||||
phy_vars_ue->lte_ue_common_vars.txdataF[0]);
|
phy_vars_ue->lte_ue_common_vars.txdataF[0]);
|
||||||
write_output("txsigF8.m","txsF8", &phy_vars_ue->lte_ue_common_vars.txdataF[0][nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe],
|
write_output("txsigF8.m","txsF8", &phy_vars_ue->lte_ue_common_vars.txdataF[0][nsymb*OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES_NO_PREFIX*subframe],
|
||||||
phy_vars_ue->lte_frame_parms.ofdm_symbol_size*nsymb,1,1);
|
phy_vars_ue->lte_frame_parms.ofdm_symbol_size*nsymb,1,1);
|
||||||
write_output("txsig8.m","txs8", &phy_vars_ue->lte_ue_common_vars.txdata[0][phy_vars_ue->lte_frame_parms.samples_per_tti*subframe],
|
write_output("txsig8.m","txs8", &phy_vars_ue->lte_ue_common_vars.txdata[0][phy_vars_ue->lte_frame_parms.samples_per_tti*subframe],
|
||||||
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
|
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
#ifndef OFDMA_ULSCH
|
#ifndef OFDMA_ULSCH
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
@@ -1236,13 +1239,13 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
apply_7_5_kHz(phy_vars_ue,&phy_vars_ue->lte_ue_common_vars.txdata[aa][ulsch_start],1);
|
apply_7_5_kHz(phy_vars_ue,&phy_vars_ue->lte_ue_common_vars.txdata[aa][ulsch_start],1);
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
if (subframe_tx == 8) {
|
if (subframe_tx == 8) {
|
||||||
write_output("txsig8_mod.m","txs8_mod", &phy_vars_ue->lte_ue_common_vars.txdata[0][phy_vars_ue->lte_frame_parms.samples_per_tti*subframe],
|
write_output("txsig8_mod.m","txs8_mod", &phy_vars_ue->lte_ue_common_vars.txdata[0][phy_vars_ue->lte_frame_parms.samples_per_tti*subframe],
|
||||||
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
|
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
overflow = ulsch_start - 9*frame_parms->samples_per_tti;
|
overflow = ulsch_start - 9*frame_parms->samples_per_tti;
|
||||||
//if ((slot_tx==4) && (aa==0)) printf("ulsch_start %d, overflow %d\n",ulsch_start,overflow);
|
//if ((slot_tx==4) && (aa==0)) printf("ulsch_start %d, overflow %d\n",ulsch_start,overflow);
|
||||||
@@ -1257,10 +1260,15 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1]<<4;
|
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1]<<4;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} //nb_antennas_tx
|
} //nb_antennas_tx
|
||||||
stop_meas(&phy_vars_ue->ofdm_mod_stats);
|
stop_meas(&phy_vars_ue->ofdm_mod_stats);
|
||||||
} // generate_ul_signal == 1
|
} // generate_ul_signal == 1
|
||||||
|
else { // no uplink so clear signal buffer instead
|
||||||
|
for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
|
||||||
|
memset(&phy_vars_ue->lte_ue_common_vars.txdata[aa][ulsch_start],0,frame_parms->samples_per_tti<<2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // mode != PRACH
|
} // mode != PRACH
|
||||||
// }// slot_tx is even
|
// }// slot_tx is even
|
||||||
@@ -1319,9 +1327,11 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
|
|||||||
#else
|
#else
|
||||||
phy_vars_ue->lte_ue_prach_vars[eNB_id]->amp = AMP;
|
phy_vars_ue->lte_ue_prach_vars[eNB_id]->amp = AMP;
|
||||||
#endif
|
#endif
|
||||||
start_meas(&phy_vars_ue->tx_prach);
|
// start_meas(&phy_vars_ue->tx_prach);
|
||||||
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH, VCD_FUNCTION_IN);
|
||||||
prach_power = generate_prach(phy_vars_ue,eNB_id,subframe_tx,frame_tx);
|
prach_power = generate_prach(phy_vars_ue,eNB_id,subframe_tx,frame_tx);
|
||||||
stop_meas(&phy_vars_ue->tx_prach);
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH, VCD_FUNCTION_OUT);
|
||||||
|
// stop_meas(&phy_vars_ue->tx_prach);
|
||||||
LOG_D(PHY,"[UE %d][RAPROC] PRACH PL %d dB, power %d dBm, digital power %d dB (amp %d)\n",
|
LOG_D(PHY,"[UE %d][RAPROC] PRACH PL %d dB, power %d dBm, digital power %d dB (amp %d)\n",
|
||||||
Mod_id,
|
Mod_id,
|
||||||
get_PL(Mod_id,CC_id,eNB_id),
|
get_PL(Mod_id,CC_id,eNB_id),
|
||||||
@@ -1394,8 +1404,8 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t
|
|||||||
LTE_DL_FRAME_PARMS *frame_parms=&phy_vars_ue->lte_frame_parms;
|
LTE_DL_FRAME_PARMS *frame_parms=&phy_vars_ue->lte_frame_parms;
|
||||||
// int aa;
|
// int aa;
|
||||||
#if defined(EXMIMO) && defined(DRIVER2013)
|
#if defined(EXMIMO) && defined(DRIVER2013)
|
||||||
exmimo_config_t *p_exmimo_config = openair0_exmimo_pci[0].exmimo_config_ptr;
|
// exmimo_config_t *p_exmimo_config = openair0_exmimo_pci[0].exmimo_config_ptr;
|
||||||
int aa;
|
// int aa;
|
||||||
#endif
|
#endif
|
||||||
int Mod_id=phy_vars_ue->Mod_id;
|
int Mod_id=phy_vars_ue->Mod_id;
|
||||||
int slot_rx = phy_vars_ue->slot_rx;
|
int slot_rx = phy_vars_ue->slot_rx;
|
||||||
@@ -2117,7 +2127,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
(dci_alloc_rx[i].format == format1A)) {
|
(dci_alloc_rx[i].format == format1A)) {
|
||||||
|
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
LOG_I(PHY,"[UE %d] subframe %d: Found rnti %x, format 1A, dci_cnt %d\n",phy_vars_ue->Mod_id,subframe_rx,dci_alloc_rx[i].rnti,i);
|
LOG_D(PHY,"[UE %d] subframe %d: Found rnti %x, format 1A, dci_cnt %d\n",phy_vars_ue->Mod_id,subframe_rx,dci_alloc_rx[i].rnti,i);
|
||||||
/*
|
/*
|
||||||
if (((frame_rx%100) == 0) || (frame_rx < 20))
|
if (((frame_rx%100) == 0) || (frame_rx < 20))
|
||||||
dump_dci(&phy_vars_ue->lte_frame_parms, &dci_alloc_rx[i]);
|
dump_dci(&phy_vars_ue->lte_frame_parms, &dci_alloc_rx[i]);
|
||||||
@@ -2194,7 +2204,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
else if( (dci_alloc_rx[i].rnti == phy_vars_ue->lte_ue_pdcch_vars[eNB_id]->crnti) &&
|
else if( (dci_alloc_rx[i].rnti == phy_vars_ue->lte_ue_pdcch_vars[eNB_id]->crnti) &&
|
||||||
(dci_alloc_rx[i].format == format0)) {
|
(dci_alloc_rx[i].format == format0)) {
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
LOG_I(PHY,"[UE %d][PUSCH] Frame %d subframe %d: Found rnti %x, format 0, dci_cnt %d\n",
|
LOG_D(PHY,"[UE %d][PUSCH] Frame %d subframe %d: Found rnti %x, format 0, dci_cnt %d\n",
|
||||||
phy_vars_ue->Mod_id,frame_rx,subframe_rx,dci_alloc_rx[i].rnti,i);
|
phy_vars_ue->Mod_id,frame_rx,subframe_rx,dci_alloc_rx[i].rnti,i);
|
||||||
/*
|
/*
|
||||||
if (((frame_rx%100) == 0) || (frame_rx < 20))
|
if (((frame_rx%100) == 0) || (frame_rx < 20))
|
||||||
@@ -2332,8 +2342,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX, VCD_FUNCTION_IN);
|
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX, VCD_FUNCTION_IN);
|
||||||
vcd_signal_dumper_dump_variable_by_name(VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_UE, (slot_rx + 1) % 20);
|
|
||||||
vcd_signal_dumper_dump_variable_by_name(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_UE, frame_rx);
|
|
||||||
|
|
||||||
start_meas(&phy_vars_ue->phy_proc_rx);
|
start_meas(&phy_vars_ue->phy_proc_rx);
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
@@ -2641,7 +2650,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
// SI_DLSCH
|
// SI_DLSCH
|
||||||
if (phy_vars_ue->dlsch_ue_SI[eNB_id]->active == 1) {
|
if (phy_vars_ue->dlsch_ue_SI[eNB_id]->active == 1) {
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
LOG_I(PHY,"SI is active in subframe %d\n",subframe_prev);
|
LOG_D(PHY,"SI is active in subframe %d\n",subframe_prev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// process symbols 10,11,12 (13) of last SF and trigger DLSCH decoding
|
// process symbols 10,11,12 (13) of last SF and trigger DLSCH decoding
|
||||||
@@ -2688,7 +2697,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
frame_rx,subframe_prev);
|
frame_rx,subframe_prev);
|
||||||
|
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
LOG_I(PHY,"Decoding DLSCH_SI : rb_alloc %x : nb_rb %d G %d TBS %d\n",phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->rb_alloc[0],
|
LOG_D(PHY,"Decoding DLSCH_SI : rb_alloc %x : nb_rb %d G %d TBS %d\n",phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->rb_alloc[0],
|
||||||
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->nb_rb,
|
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->nb_rb,
|
||||||
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->G,
|
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->G,
|
||||||
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->TBS);
|
phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->TBS);
|
||||||
@@ -2731,7 +2740,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
if (ret == (1+phy_vars_ue->dlsch_ue_SI[eNB_id]->max_turbo_iterations)) {
|
if (ret == (1+phy_vars_ue->dlsch_ue_SI[eNB_id]->max_turbo_iterations)) {
|
||||||
phy_vars_ue->dlsch_SI_errors[eNB_id]++;
|
phy_vars_ue->dlsch_SI_errors[eNB_id]++;
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
LOG_I(PHY,"[UE %d] Frame %d, subframe %d, received SI in error\n",phy_vars_ue->Mod_id,frame_rx,subframe_prev);
|
LOG_D(PHY,"[UE %d] Frame %d, subframe %d, received SI in error\n",phy_vars_ue->Mod_id,frame_rx,subframe_prev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USER_MODE
|
#ifdef USER_MODE
|
||||||
@@ -2746,7 +2755,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
|
|||||||
|
|
||||||
#ifdef DEBUG_PHY_PROC
|
#ifdef DEBUG_PHY_PROC
|
||||||
//if ((frame_rx % 100) == 0)
|
//if ((frame_rx % 100) == 0)
|
||||||
LOG_I(PHY,"[UE %d] Frame %d, subframe %d, received SI for TBS %d\n",
|
LOG_D(PHY,"[UE %d] Frame %d, subframe %d, received SI for TBS %d\n",
|
||||||
phy_vars_ue->Mod_id,frame_rx,subframe_prev,phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->TBS);
|
phy_vars_ue->Mod_id,frame_rx,subframe_prev,phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->TBS);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -3609,11 +3618,11 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((subframe_select(&phy_vars_ue->lte_frame_parms,subframe_tx)==SF_UL)||
|
if ((subframe_select(&phy_vars_ue->lte_frame_parms,subframe_tx)==SF_UL)||
|
||||||
(phy_vars_ue->lte_frame_parms.frame_type == 0)){
|
(phy_vars_ue->lte_frame_parms.frame_type == FDD)){
|
||||||
phy_procedures_UE_TX(phy_vars_ue,eNB_id,abstraction_flag,mode,r_type);
|
phy_procedures_UE_TX(phy_vars_ue,eNB_id,abstraction_flag,mode,r_type);
|
||||||
}
|
}
|
||||||
if ((subframe_select(&phy_vars_ue->lte_frame_parms,subframe_rx)==SF_DL) ||
|
if ((subframe_select(&phy_vars_ue->lte_frame_parms,subframe_rx)==SF_DL) ||
|
||||||
(phy_vars_ue->lte_frame_parms.frame_type == 0)){
|
(phy_vars_ue->lte_frame_parms.frame_type == FDD)){
|
||||||
#ifdef Rel10
|
#ifdef Rel10
|
||||||
if (phy_procedures_RN_UE_RX(slot_rx, slot_tx, r_type) != 0 )
|
if (phy_procedures_RN_UE_RX(slot_rx, slot_tx, r_type) != 0 )
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ void ue_send_sdu(module_id_t module_idP, uint8_t CC_id,frame_t frameP,uint8_t *s
|
|||||||
#ifdef DEBUG_HEADER_PARSING
|
#ifdef DEBUG_HEADER_PARSING
|
||||||
LOG_D(MAC,"[UE] CE %d : UE Timing Advance : %d\n",i,payload_ptr[0]);
|
LOG_D(MAC,"[UE] CE %d : UE Timing Advance : %d\n",i,payload_ptr[0]);
|
||||||
#endif
|
#endif
|
||||||
//mac_xface->process_timing_advance(module_idP,payload_ptr[0]);
|
mac_xface->process_timing_advance(module_idP,CC_id,payload_ptr[0]);
|
||||||
payload_ptr++;
|
payload_ptr++;
|
||||||
break;
|
break;
|
||||||
case DRX_CMD:
|
case DRX_CMD:
|
||||||
|
|||||||
@@ -77,9 +77,15 @@ struct vcd_module_s {
|
|||||||
const char* eurecomVariablesNames[] = {
|
const char* eurecomVariablesNames[] = {
|
||||||
"frame_number_TX_eNB",
|
"frame_number_TX_eNB",
|
||||||
"frame_number_RX_eNB",
|
"frame_number_RX_eNB",
|
||||||
"frame_number_UE",
|
"frame_number_TX_UE",
|
||||||
"slot_number_UE",
|
"frame_number_RX_UE",
|
||||||
|
"slot_number_TX_UE",
|
||||||
|
"slot_number_RX_UE",
|
||||||
|
"subframe_number_TX_UE",
|
||||||
|
"subframe_number_RX_UE",
|
||||||
"daq_mbox",
|
"daq_mbox",
|
||||||
|
"rx_offset_mbox",
|
||||||
|
"ue_rx_offset",
|
||||||
"diff2",
|
"diff2",
|
||||||
"hw_subframe",
|
"hw_subframe",
|
||||||
"hw_frame",
|
"hw_frame",
|
||||||
@@ -164,6 +170,7 @@ const char* eurecomFunctionsNames[] = {
|
|||||||
"phy_enb_prach_rx",
|
"phy_enb_prach_rx",
|
||||||
"phy_enb_pdcch_tx",
|
"phy_enb_pdcch_tx",
|
||||||
"phy_enb_rs_tx",
|
"phy_enb_rs_tx",
|
||||||
|
"phy_ue_generate_prach",
|
||||||
"phy_ue_ulsch_modulation",
|
"phy_ue_ulsch_modulation",
|
||||||
"phy_ue_ulsch_encoding",
|
"phy_ue_ulsch_encoding",
|
||||||
"phy_ue_ulsch_scrambling",
|
"phy_ue_ulsch_scrambling",
|
||||||
|
|||||||
@@ -50,9 +50,15 @@ typedef enum
|
|||||||
{
|
{
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_ENB = 0,
|
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_ENB = 0,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX_ENB,
|
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX_ENB,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_UE,
|
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_UE,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_UE,
|
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX_UE,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_TX_UE,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_RX_UE,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX_UE,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX_UE,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_DAQ_MBOX,
|
VCD_SIGNAL_DUMPER_VARIABLES_DAQ_MBOX,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_UE_OFFSET_MBOX,
|
||||||
|
VCD_SIGNAL_DUMPER_VARIABLES_UE_RX_OFFSET,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_DIFF,
|
VCD_SIGNAL_DUMPER_VARIABLES_DIFF,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_HW_SUBFRAME,
|
VCD_SIGNAL_DUMPER_VARIABLES_HW_SUBFRAME,
|
||||||
VCD_SIGNAL_DUMPER_VARIABLES_HW_FRAME,
|
VCD_SIGNAL_DUMPER_VARIABLES_HW_FRAME,
|
||||||
@@ -139,6 +145,7 @@ typedef enum {
|
|||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,
|
||||||
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_MODULATION,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_MODULATION,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_ENCODING,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_ENCODING,
|
||||||
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_SCRAMBLING,
|
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_SCRAMBLING,
|
||||||
|
|||||||
@@ -115,10 +115,10 @@ eNBs =
|
|||||||
NETWORK_INTERFACES :
|
NETWORK_INTERFACES :
|
||||||
{
|
{
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.82/24";
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.171/24";
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.82/24";
|
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.171/24";
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ eNBs =
|
|||||||
uplink_frequency_offset = 0;
|
uplink_frequency_offset = 0;
|
||||||
|
|
||||||
Nid_cell = 0;
|
Nid_cell = 0;
|
||||||
N_RB_DL = 50;
|
N_RB_DL = 25;
|
||||||
Nid_cell_mbsfn = 0;
|
Nid_cell_mbsfn = 0;
|
||||||
nb_antennas_tx = 1;
|
nb_antennas_tx = 1;
|
||||||
nb_antennas_rx = 1;
|
nb_antennas_rx = 1;
|
||||||
|
|||||||
@@ -1,143 +0,0 @@
|
|||||||
Active_eNBs = ( "eNB_Eurecom_LTEBox");
|
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
|
||||||
Asn1_verbosity = "none";
|
|
||||||
|
|
||||||
eNBs =
|
|
||||||
(
|
|
||||||
{
|
|
||||||
# real_time choice in {hard, rt-preempt, no}
|
|
||||||
real_time = "no";
|
|
||||||
////////// Identification parameters:
|
|
||||||
eNB_ID = 0xe00;
|
|
||||||
|
|
||||||
cell_type = "CELL_MACRO_ENB";
|
|
||||||
|
|
||||||
eNB_name = "eNB_Eurecom_LTEBox";
|
|
||||||
|
|
||||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
|
||||||
tracking_area_code = "1";
|
|
||||||
|
|
||||||
mobile_country_code = "208";
|
|
||||||
|
|
||||||
mobile_network_code = "92";
|
|
||||||
|
|
||||||
////////// Physical parameters:
|
|
||||||
|
|
||||||
component_carriers = (
|
|
||||||
{
|
|
||||||
frame_type = "TDD";
|
|
||||||
tdd_config = 3;
|
|
||||||
tdd_config_s = 0;
|
|
||||||
prefix_type = "NORMAL";
|
|
||||||
eutra_band = 39;
|
|
||||||
downlink_frequency = 1907600000L;
|
|
||||||
uplink_frequency_offset = 0;
|
|
||||||
|
|
||||||
Nid_cell = 0;
|
|
||||||
N_RB_DL = 25;
|
|
||||||
Nid_cell_mbsfn = 0;
|
|
||||||
nb_antennas_tx = 1;
|
|
||||||
nb_antennas_rx = 1;
|
|
||||||
tx_gain = 10;
|
|
||||||
rx_gain = 10;
|
|
||||||
prach_root = 0;
|
|
||||||
prach_config_index = 0;
|
|
||||||
prach_high_speed = "DISABLE";
|
|
||||||
prach_zero_correlation = 1;
|
|
||||||
prach_freq_offset = 2;
|
|
||||||
pucch_delta_shift = 1;
|
|
||||||
pucch_nRB_CQI = 1;
|
|
||||||
pucch_nCS_AN = 0;
|
|
||||||
pucch_n1_AN = 32;
|
|
||||||
pdsch_referenceSignalPower = -24;
|
|
||||||
pdsch_p_b = 0;
|
|
||||||
pusch_n_SB = 1;
|
|
||||||
pusch_enable64QAM = "DISABLE";
|
|
||||||
pusch_hoppingMode = "interSubFrame";
|
|
||||||
pusch_hoppingOffset = 0;
|
|
||||||
pusch_groupHoppingEnabled = "ENABLE";
|
|
||||||
pusch_groupAssignment = 0;
|
|
||||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
|
||||||
pusch_nDMRS1 = 0;
|
|
||||||
phich_duration = "NORMAL";
|
|
||||||
phich_resource = "ONESIXTH";
|
|
||||||
srs_enable = "DISABLE";
|
|
||||||
/* srs_BandwidthConfig =;
|
|
||||||
srs_SubframeConfig =;
|
|
||||||
srs_ackNackST =;
|
|
||||||
srs_MaxUpPts =;*/
|
|
||||||
|
|
||||||
pusch_p0_Nominal = -95;
|
|
||||||
pusch_alpha = "AL1";
|
|
||||||
pucch_p0_Nominal = -108;
|
|
||||||
msg3_delta_Preamble = 6;
|
|
||||||
pucch_deltaF_Format1 = "deltaF2";
|
|
||||||
pucch_deltaF_Format1b = "deltaF3";
|
|
||||||
pucch_deltaF_Format2 = "deltaF0";
|
|
||||||
pucch_deltaF_Format2a = "deltaF0";
|
|
||||||
pucch_deltaF_Format2b = "deltaF0";
|
|
||||||
|
|
||||||
rach_numberOfRA_Preambles = 64;
|
|
||||||
rach_preamblesGroupAConfig = "DISABLE";
|
|
||||||
/*
|
|
||||||
rach_sizeOfRA_PreamblesGroupA = ;
|
|
||||||
rach_messageSizeGroupA = ;
|
|
||||||
rach_messagePowerOffsetGroupB = ;
|
|
||||||
*/
|
|
||||||
rach_powerRampingStep = 2;
|
|
||||||
rach_preambleInitialReceivedTargetPower = -104;
|
|
||||||
rach_preambleTransMax = 6;
|
|
||||||
rach_raResponseWindowSize = 10;
|
|
||||||
rach_macContentionResolutionTimer = 48;
|
|
||||||
rach_maxHARQ_Msg3Tx = 4;
|
|
||||||
|
|
||||||
pcch_default_PagingCycle = 128;
|
|
||||||
pcch_nB = "oneT";
|
|
||||||
bcch_modificationPeriodCoeff = 2;
|
|
||||||
ue_TimersAndConstants_t300 = 1000;
|
|
||||||
ue_TimersAndConstants_t301 = 1000;
|
|
||||||
ue_TimersAndConstants_t310 = 1000;
|
|
||||||
ue_TimersAndConstants_t311 = 10000;
|
|
||||||
ue_TimersAndConstants_n310 = 20;
|
|
||||||
ue_TimersAndConstants_n311 = 1;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
////////// MME parameters:
|
|
||||||
mme_ip_address = ( { ipv4 = "192.168.13.11";
|
|
||||||
ipv6 = "192:168:30::17";
|
|
||||||
active = "yes";
|
|
||||||
preference = "ipv4";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
NETWORK_INTERFACES :
|
|
||||||
{
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24";
|
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24";
|
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
|
||||||
};
|
|
||||||
|
|
||||||
log_config :
|
|
||||||
{
|
|
||||||
global_log_level ="info";
|
|
||||||
global_log_verbosity ="medium";
|
|
||||||
hw_log_level ="info";
|
|
||||||
hw_log_verbosity ="medium";
|
|
||||||
phy_log_level ="info";
|
|
||||||
phy_log_verbosity ="medium";
|
|
||||||
mac_log_level ="info";
|
|
||||||
mac_log_verbosity ="high";
|
|
||||||
rlc_log_level ="info";
|
|
||||||
rlc_log_verbosity ="medium";
|
|
||||||
pdcp_log_level ="info";
|
|
||||||
pdcp_log_verbosity ="medium";
|
|
||||||
rrc_log_level ="info";
|
|
||||||
rrc_log_verbosity ="medium";
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
||||||
@@ -114,10 +114,10 @@ eNBs =
|
|||||||
NETWORK_INTERFACES :
|
NETWORK_INTERFACES :
|
||||||
{
|
{
|
||||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24";
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.171/24";
|
||||||
|
|
||||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24";
|
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.171/24";
|
||||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ eNBs =
|
|||||||
rlc_log_verbosity ="medium";
|
rlc_log_verbosity ="medium";
|
||||||
pdcp_log_level ="info";
|
pdcp_log_level ="info";
|
||||||
pdcp_log_verbosity ="medium";
|
pdcp_log_verbosity ="medium";
|
||||||
rrc_log_level ="debug";
|
rrc_log_level ="info";
|
||||||
rrc_log_verbosity ="medium";
|
rrc_log_verbosity ="medium";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ CFLAGS += -DSMBV
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1
|
CFLAGS += -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1
|
||||||
CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 -DDLSCH_THREAD #-DULSCH_THREAD
|
CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 #-DDLSCH_THREAD #-DULSCH_THREAD
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(EXMIMO),1)
|
ifeq ($(EXMIMO),1)
|
||||||
|
|||||||
+522
-338
File diff suppressed because it is too large
Load Diff
@@ -187,7 +187,7 @@ static void * rx_pdsch_thread(void *param) {
|
|||||||
//time0 = rt_get_time_ns();
|
//time0 = rt_get_time_ns();
|
||||||
// rt_printk("[SCHED][RX_PDSCH][before rx_pdsch] Frame %d, slot %d, time %llu\n",UE->frame,last_slot,rt_get_time_ns());
|
// rt_printk("[SCHED][RX_PDSCH][before rx_pdsch] Frame %d, slot %d, time %llu\n",UE->frame,last_slot,rt_get_time_ns());
|
||||||
for (m=pilot2;m<UE->lte_frame_parms.symbols_per_tti;m++) {
|
for (m=pilot2;m<UE->lte_frame_parms.symbols_per_tti;m++) {
|
||||||
|
|
||||||
rx_pdsch(UE,
|
rx_pdsch(UE,
|
||||||
PDSCH,
|
PDSCH,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
|
|||||||
+16
-10
@@ -1,26 +1,31 @@
|
|||||||
[*]
|
[*]
|
||||||
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
|
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
|
||||||
[*] Sat Jan 3 21:45:58 2015
|
[*] Thu Feb 5 10:38:10 2015
|
||||||
[*]
|
[*]
|
||||||
[dumpfile] "/tmp/openair_dump_UE.vcd"
|
[dumpfile] "/tmp/openair_dump_UE.vcd"
|
||||||
[dumpfile_mtime] "Sat Jan 3 21:45:33 2015"
|
[dumpfile_mtime] "Thu Feb 5 10:38:10 2015"
|
||||||
[dumpfile_size] 98393197
|
[dumpfile_size] 63195810
|
||||||
[savefile] "/home/haswell/openair4G_knopp/targets/RT/USER/ue.gtkw"
|
[savefile] "/home/ephese/openair4G/targets/RT/USER/ue.gtkw"
|
||||||
[timestart] 72755430000
|
[timestart] 55175040000
|
||||||
[size] 1221 600
|
[size] 1221 600
|
||||||
[pos] 251 123
|
[pos] -1 -1
|
||||||
*-21.000000 72759034000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
*-17.000000 55175269780 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
||||||
[sst_width] 224
|
[sst_width] 224
|
||||||
[signals_width] 262
|
[signals_width] 262
|
||||||
[sst_expanded] 1
|
[sst_expanded] 1
|
||||||
[sst_vpaned_height] 143
|
[sst_vpaned_height] 143
|
||||||
@24
|
@24
|
||||||
variables.hw_subframe[63:0]
|
variables.hw_subframe[63:0]
|
||||||
variables.frame_number_UE[63:0]
|
|
||||||
@25
|
|
||||||
variables.slot_number_UE[63:0]
|
|
||||||
@28
|
@28
|
||||||
functions.phy_procedures_ue_rx
|
functions.phy_procedures_ue_rx
|
||||||
|
functions.phy_procedures_ue_tx
|
||||||
|
@24
|
||||||
|
variables.frame_number_RX_UE[63:0]
|
||||||
|
variables.frame_number_TX_UE[63:0]
|
||||||
|
@25
|
||||||
|
variables.subframe_number_RX_UE[63:0]
|
||||||
|
variables.subframe_number_TX_UE[63:0]
|
||||||
|
@28
|
||||||
functions.ue_slot_fep
|
functions.ue_slot_fep
|
||||||
functions.lte_ue_measurement_procedures
|
functions.lte_ue_measurement_procedures
|
||||||
functions.ue_rrc_measurements
|
functions.ue_rrc_measurements
|
||||||
@@ -30,6 +35,7 @@ functions.lte_ue_pbch_procedures
|
|||||||
functions.lte_ue_pdcch_procedures
|
functions.lte_ue_pdcch_procedures
|
||||||
functions.rx_pdcch
|
functions.rx_pdcch
|
||||||
functions.dci_decoding
|
functions.dci_decoding
|
||||||
|
functions.phy_ue_generate_prach
|
||||||
functions.phy_ue_ulsch_encoding
|
functions.phy_ue_ulsch_encoding
|
||||||
functions.phy_ue_ulsch_modulation
|
functions.phy_ue_ulsch_modulation
|
||||||
functions.phy_ue_ulsch_scrambling
|
functions.phy_ue_ulsch_scrambling
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
[*]
|
[*]
|
||||||
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
|
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
|
||||||
[*] Thu Feb 5 10:24:50 2015
|
[*] Thu Feb 5 17:45:30 2015
|
||||||
[*]
|
[*]
|
||||||
[dumpfile] "/tmp/openair_dump_UE.vcd"
|
[dumpfile] "/tmp/openair_dump_UE.vcd"
|
||||||
[dumpfile_mtime] "Thu Feb 5 10:24:33 2015"
|
[dumpfile_mtime] "Thu Feb 5 17:10:05 2015"
|
||||||
[dumpfile_size] 57929998
|
[dumpfile_size] 18764854
|
||||||
[savefile] "/home/ephese/openair4G/targets/RT/USER/ue_exmimo2.gtkw"
|
[savefile] "/home/ephese/openair4G/targets/RT/USER/ue_exmimo2.gtkw"
|
||||||
[timestart] 7161510000
|
[timestart] 4937140000
|
||||||
[size] 1463 640
|
[size] 1463 640
|
||||||
[pos] 105 102
|
[pos] 105 102
|
||||||
*-22.000000 7171400000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
*-22.000000 4947033063 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
||||||
[sst_width] 224
|
[sst_width] 224
|
||||||
[signals_width] 262
|
[signals_width] 262
|
||||||
[sst_expanded] 1
|
[sst_expanded] 1
|
||||||
@@ -19,13 +19,15 @@ variables.hw_subframe[63:0]
|
|||||||
variables.daq_mbox[63:0]
|
variables.daq_mbox[63:0]
|
||||||
variables.diff2[63:0]
|
variables.diff2[63:0]
|
||||||
variables.ue_rx_offset[63:0]
|
variables.ue_rx_offset[63:0]
|
||||||
@25
|
|
||||||
variables.rx_offset_mbox[63:0]
|
variables.rx_offset_mbox[63:0]
|
||||||
@28
|
@28
|
||||||
functions.rt_sleep
|
functions.rt_sleep
|
||||||
@24
|
@24
|
||||||
variables.subframe_number_RX_UE[63:0]
|
variables.subframe_number_RX_UE[63:0]
|
||||||
variables.subframe_number_TX_UE[63:0]
|
variables.subframe_number_TX_UE[63:0]
|
||||||
|
variables.slot_number_RX_UE[63:0]
|
||||||
|
@25
|
||||||
|
variables.slot_number_RX_UE[63:0]
|
||||||
@28
|
@28
|
||||||
functions.phy_procedures_ue_rx
|
functions.phy_procedures_ue_rx
|
||||||
functions.phy_procedures_ue_tx
|
functions.phy_procedures_ue_tx
|
||||||
|
|||||||
Reference in New Issue
Block a user