Commit d3df77bc authored by Calisson's avatar Calisson

Bugfix for eNB and TDD subframe 1

parent d89cf68f
...@@ -192,8 +192,9 @@ int init_frame_parms(LTE_DL_FRAME_PARMS *frame_parms,uint8_t osf) ...@@ -192,8 +192,9 @@ int init_frame_parms(LTE_DL_FRAME_PARMS *frame_parms,uint8_t osf)
if (frame_parms->frame_type == TDD) { if (frame_parms->frame_type == TDD) {
set_S_config(frame_parms); set_S_config(frame_parms);
LOG_I(PHY,"TDD: Configuration %d, S-Subframe config %d: num DL symbols in S-subframe %d, num UL symbols in S-subframe\n", LOG_I(PHY,"TDD: Configuration %d, S-Subframe config %d: num DL symbols in S-subframe %d, num UL symbols in S-subframe %d\n",
frame_parms->tdd_config,frame_parms->tdd_config_S, frame_parms->tdd_config,
frame_parms->tdd_config_S,
frame_parms->dl_symbols_in_S_subframe, frame_parms->dl_symbols_in_S_subframe,
frame_parms->ul_symbols_in_S_subframe); frame_parms->ul_symbols_in_S_subframe);
} }
......
...@@ -282,6 +282,8 @@ void do_OFDM_mod(int32_t **txdataF, int32_t **txdata, uint32_t frame,uint16_t ne ...@@ -282,6 +282,8 @@ void do_OFDM_mod(int32_t **txdataF, int32_t **txdata, uint32_t frame,uint16_t ne
} }
extern PHY_VARS_eNB ***PHY_vars_eNB_g;
// OFDM modulation for each symbol // OFDM modulation for each symbol
void do_OFDM_mod_symbol(LTE_eNB_COMMON *eNB_common_vars, int eNB_id, uint16_t next_slot, LTE_DL_FRAME_PARMS *frame_parms,int do_precoding) void do_OFDM_mod_symbol(LTE_eNB_COMMON *eNB_common_vars, int eNB_id, uint16_t next_slot, LTE_DL_FRAME_PARMS *frame_parms,int do_precoding)
{ {
...@@ -295,7 +297,7 @@ void do_OFDM_mod_symbol(LTE_eNB_COMMON *eNB_common_vars, int eNB_id, uint16_t ne ...@@ -295,7 +297,7 @@ void do_OFDM_mod_symbol(LTE_eNB_COMMON *eNB_common_vars, int eNB_id, uint16_t ne
slot_offsetF = (next_slot)*(frame_parms->ofdm_symbol_size)*((frame_parms->Ncp==EXTENDED) ? 6 : 7); slot_offsetF = (next_slot)*(frame_parms->ofdm_symbol_size)*((frame_parms->Ncp==EXTENDED) ? 6 : 7);
//printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc()); //printf("Thread %d starting ... aa %d (%llu)\n",omp_get_thread_num(),aa,rdtsc());
for (l=0; l<frame_parms->symbols_per_tti>>1; l++) { for (l=0; l<frame_parms->symbols_per_tti>>1; l++) {
if (PHY_vars_eNB_g[0][0]->proc.frame_tx==0) LOG_I(PHY,"Generating symbol %d for slot %d\n",l,next_slot);
for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) { for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
//printf("do_OFDM_mod_l, slot=%d, l=%d, NUMBER_OF_OFDM_CARRIERS=%d,OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES=%d\n",next_slot, l,NUMBER_OF_OFDM_CARRIERS,OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES); //printf("do_OFDM_mod_l, slot=%d, l=%d, NUMBER_OF_OFDM_CARRIERS=%d,OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES=%d\n",next_slot, l,NUMBER_OF_OFDM_CARRIERS,OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES);
......
...@@ -497,6 +497,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { ...@@ -497,6 +497,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
// generate Cell-Specific Reference Signals for both slots // generate Cell-Specific Reference Signals for both slots
if (eNB->abstraction_flag==0) { if (eNB->abstraction_flag==0) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,1); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX,1);
if (frame==0) LOG_I(PHY,"Generating RS for slot %d\n",subframe<<1);
generate_pilots_slot(eNB, generate_pilots_slot(eNB,
txdataF, txdataF,
AMP, AMP,
...@@ -598,6 +599,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { ...@@ -598,6 +599,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
if ((fp->frame_type == TDD)&& if ((fp->frame_type == TDD)&&
(eNB->abstraction_flag==0)){ (eNB->abstraction_flag==0)){
if (frame==0) LOG_I(PHY,"Generating SSS for slot %d\n",1+(subframe<<1));
generate_sss(txdataF, generate_sss(txdataF,
AMP, AMP,
fp, fp,
...@@ -624,6 +626,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { ...@@ -624,6 +626,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) {
else if ((subframe == 1) && else if ((subframe == 1) &&
(fp->frame_type == TDD)&& (fp->frame_type == TDD)&&
(eNB->abstraction_flag==0)) { (eNB->abstraction_flag==0)) {
if (frame==0) LOG_I(PHY,"Generating PSS for slot %d\n",subframe<<1);
generate_pss(txdataF, generate_pss(txdataF,
AMP, AMP,
fp, fp,
...@@ -1383,7 +1386,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, ...@@ -1383,7 +1386,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
LOG_D(PHY,"[eNB %"PRIu8"] Frame %d, subframe %d: Calling generate_dci_top (pdcch) (common %"PRIu8",ue_spec %"PRIu8")\n",eNB->Mod_id,frame, subframe, LOG_D(PHY,"[eNB %"PRIu8"] Frame %d, subframe %d: Calling generate_dci_top (pdcch) (common %"PRIu8",ue_spec %"PRIu8")\n",eNB->Mod_id,frame, subframe,
DCI_pdu->Num_common_dci,DCI_pdu->Num_ue_spec_dci); DCI_pdu->Num_common_dci,DCI_pdu->Num_ue_spec_dci);
} }
if (frame==0) LOG_I(PHY,"Generating PDCCCH/PCFICH for slot %d\n",subframe<<1);
num_pdcch_symbols = generate_dci_top(DCI_pdu->Num_ue_spec_dci, num_pdcch_symbols = generate_dci_top(DCI_pdu->Num_ue_spec_dci,
DCI_pdu->Num_common_dci, DCI_pdu->Num_common_dci,
DCI_pdu->dci_alloc, DCI_pdu->dci_alloc,
......
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