diff --git a/openair1/PHY/CODING/TESTBENCH/Makefile b/openair1/PHY/CODING/TESTBENCH/Makefile index f90747cbef1e05d0b6805ef35863e6bb8c14759c..1cd9516d4363b8a65610eeb0911cf96e322ee13f 100644 --- a/openair1/PHY/CODING/TESTBENCH/Makefile +++ b/openair1/PHY/CODING/TESTBENCH/Makefile @@ -7,7 +7,7 @@ OPENAIR2_TOP = $(OPENAIR2_DIR) OPENAIR3 = $(OPENAIR3_DIR) -CFLAGS += -DNODE_RG -DUSER_MODE -DPC_TARGET -DNO_UL_REF -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DOPENAIR_LTE +CFLAGS += -DNODE_RG -DUSER_MODE -DPC_TARGET -DNO_UL_REF -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DOPENAIR_LTE -DMAX_NUM_CCs=1 ASN1_MSG_INC = $(OPENAIR2_DIR)/RRC/LITE/MESSAGES diff --git a/openair1/PHY/CODING/TESTBENCH/ltetest.c b/openair1/PHY/CODING/TESTBENCH/ltetest.c index ff4943d93ae611b530e525bffa6d859b094481bf..4a168a3175965e2e72d218dd3abef04550acf709 100644 --- a/openair1/PHY/CODING/TESTBENCH/ltetest.c +++ b/openair1/PHY/CODING/TESTBENCH/ltetest.c @@ -34,7 +34,6 @@ #include "PHY/defs.h" #include "PHY/vars.h" #include "MAC_INTERFACE/vars.h" -#include "ARCH/CBMIMO1/DEVICE_DRIVER/vars.h" #include "PHY/CODING/defs.h" #include "SCHED/defs.h" @@ -66,7 +65,7 @@ int current_dlsch_cqi; PHY_VARS_eNB *PHY_vars_eNB; PHY_VARS_UE *PHY_vars_UE; -DCI2_5MHz_2A_M10PRB_TDD_t DLSCH_alloc_pdu2; +DCI1_5MHz_TDD_t DLSCH_alloc_pdu; channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX]; void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,unsigned char extended_prefix_flag,uint16_t Nid_cell,uint8_t tdd_config) { @@ -238,9 +237,9 @@ int test_logmap8(LTE_eNB_DLSCH_t *dlsch_eNB, #ifdef DEBUG_CODER if ((i&0xf)==0) printf("\ne %d..%d: ",i,i+15); - printf("%d.",PHY_vars_eNB->dlsch_eNB[0][0]->e[i]); + printf("%d.",PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->e[i]); #endif - channel_output[i] = (short)quantize(sigma/4.0,(2.0*PHY_vars_eNB->dlsch_eNB[0][0]->e[i]) - 1.0 + sigma*gaussdouble(0.0,1.0),qbits); + channel_output[i] = (short)quantize(sigma/4.0,(2.0*PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->e[i]) - 1.0 + sigma*gaussdouble(0.0,1.0),qbits); // printf("input %d, output %f\n",(2*PHY_vars_eNB->dlsch_eNB[0][0]->e[i]) - 1, // (2.0*PHY_vars_eNB->dlsch_eNB[0][0]->e[i]) - 1.0 + sigma*gaussdouble(0.0,1.0)); } @@ -365,7 +364,7 @@ int main(int argc, char *argv[]) { unsigned int coded_bits; unsigned char NB_RB=25; - int num_pdcch_symbols = 3; + int num_pdcch_symbols = 1; int subframe = 6; randominit(0); @@ -383,15 +382,15 @@ int main(int argc, char *argv[]) { mcs = 0; printf("NB_RB %d\n",NB_RB); - DLSCH_alloc_pdu2.rah = 0; - DLSCH_alloc_pdu2.rballoc = DLSCH_RB_ALLOC; - DLSCH_alloc_pdu2.TPC = 0; - DLSCH_alloc_pdu2.dai = 0; - DLSCH_alloc_pdu2.harq_pid = 0; - DLSCH_alloc_pdu2.tb_swap = 0; - DLSCH_alloc_pdu2.mcs1 = mcs; - DLSCH_alloc_pdu2.ndi1 = 1; - DLSCH_alloc_pdu2.rv1 = 0; + DLSCH_alloc_pdu.rah = 0; + DLSCH_alloc_pdu.rballoc = DLSCH_RB_ALLOC; + DLSCH_alloc_pdu.TPC = 0; + DLSCH_alloc_pdu.dai = 0; + DLSCH_alloc_pdu.harq_pid = 0; + //DLSCH_alloc_pdu2.tb_swap = 0; + DLSCH_alloc_pdu.mcs = mcs; + DLSCH_alloc_pdu.ndi = 1; + DLSCH_alloc_pdu.rv = 0; if (argc>2) qbits = atoi(argv[2]); @@ -401,9 +400,9 @@ int main(int argc, char *argv[]) { printf("Quantization bits %d\n",qbits); generate_eNB_dlsch_params_from_dci(subframe, - &DLSCH_alloc_pdu2, + &DLSCH_alloc_pdu, 0x1234, - format2_2A_M10PRB, + format1, PHY_vars_eNB->dlsch_eNB[0], &PHY_vars_eNB->lte_frame_parms, PHY_vars_eNB->pdsch_config_dedicated, @@ -412,9 +411,9 @@ int main(int argc, char *argv[]) { P_RNTI, 0); //change this later generate_ue_dlsch_params_from_dci(subframe, - &DLSCH_alloc_pdu2, + &DLSCH_alloc_pdu, C_RNTI, - format2_2A_M10PRB, + format1, PHY_vars_UE->dlsch_ue[0], &PHY_vars_UE->lte_frame_parms, PHY_vars_UE->pdsch_config_dedicated, @@ -423,8 +422,8 @@ int main(int argc, char *argv[]) { P_RNTI); coded_bits = get_G(&PHY_vars_eNB->lte_frame_parms, - PHY_vars_eNB->dlsch_eNB[0][0]->nb_rb, - PHY_vars_eNB->dlsch_eNB[0][0]->rb_alloc, + PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->nb_rb, + PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->rb_alloc, get_Qm(mcs), 1, num_pdcch_symbols, @@ -438,7 +437,7 @@ int main(int argc, char *argv[]) { dlsch_tbs25[get_I_TBS(mcs)][NB_RB-1],(double)dlsch_tbs25[get_I_TBS(mcs)][NB_RB-1]/coded_bits, mcs,get_I_TBS(mcs),PHY_vars_eNB->dlsch_eNB[0][0]->harq_processes[0]->F,NB_RB); - for (SNR=-5;SNR<5;SNR+=.1) { + for (SNR=-5;SNR<15;SNR+=.1) { diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c index 5b6404e0600cf1ad11618fdafe0ec069482ae877..63e91fbc80426813914cb82aafdecc7be352240d 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c @@ -277,7 +277,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue, iind = 123 + ((Kr_bytes-256)>>3); else { msg("dlsch_decoding: Illegal codeword size %d!!!\n",Kr_bytes); - return(-1); + return(dlsch->max_turbo_iterations); } #ifdef DEBUG_DLSCH_DECODING