From b98bae4ac7b08a84fcb74cb4291dd1babf6f80a4 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 11 Feb 2015 16:10:55 +0000 Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6527 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair1/SCHED/phy_procedures_lte_eNb.c | 82 ++++++++++++++----------- 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 4243d720aa..7f4a6a781a 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -524,6 +524,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e rand = (rand%4)+5; */ uint32_t bcch_pdu; + uint64_t dlsch_pdu; DCI_pdu->Num_common_dci = 0; DCI_pdu->Num_ue_spec_dci=0; @@ -667,47 +668,58 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e break; case 7: DCI_pdu->Num_ue_spec_dci = 1; + DCI_pdu->dci_alloc[0].L = 2; + DCI_pdu->dci_alloc[0].rnti = 0x1235; + DCI_pdu->dci_alloc[0].format = format1; + DCI_pdu->dci_alloc[0].ra_flag = 0; if (transmission_mode<3) { //user 1 - if (phy_vars_eNB->lte_frame_parms.frame_type == FDD) - DCI_pdu->dci_alloc[0].dci_length = sizeof_DCI1_5MHz_FDD_t; - else - DCI_pdu->dci_alloc[0].dci_length = sizeof_DCI1_5MHz_TDD_t; + switch (phy_vars_eNB->lte_frame_parms.N_RB_DL) { + case 25: + if (phy_vars_eNB->lte_frame_parms.frame_type == FDD) { + DCI_pdu->dci_alloc[0].dci_length = sizeof_DCI1_5MHz_FDD_t; + + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->rballoc = rballoc; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->TPC = 0; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->dai = 0; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->harq_pid = 0; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = openair_daq_vars.target_ue_dl_mcs; + //((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = (unsigned char) ((phy_vars_eNB->frame%1024)%28); + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->ndi = phy_vars_eNB->proc[sched_subframe].frame_tx&1; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->rv = 0; + memcpy((void*)&DCI_pdu->dci_alloc[0].dci_pdu[0],(void *)&dlsch_pdu,sizeof(DCI1_5MHz_TDD_t)); + + /* + //user2 + DCI_pdu->dci_alloc[1].dci_length = sizeof_DCI1_5MHz_TDD_t; + DCI_pdu->dci_alloc[1].L = 2; + DCI_pdu->dci_alloc[1].rnti = 0x1236; + DCI_pdu->dci_alloc[1].format = format1; + DCI_pdu->dci_alloc[1].ra_flag = 0; + + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->rballoc = rballoc2; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->TPC = 0; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->dai = 0; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->harq_pid = 1; + //((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = (unsigned char) ((phy_vars_eNB->proc[subframe].frame%1024)%28); + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = openair_daq_vars.target_ue_dl_mcs; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->ndi = 1; + ((DCI1_5MHz_FDD_t *)&dlsch_pdu)->rv = 0; + memcpy((void*)&DCI_pdu->dci_alloc[1].dci_pdu[0],(void *)&((DCI1_5MHz_FDD_t *)&dlsch_pdu)->,sizeof(DCI1_5MHz_TDD_t)); + */ + } + else { + DCI_pdu->dci_alloc[0].dci_length = sizeof_DCI1_5MHz_TDD_t; + - DCI_pdu->dci_alloc[0].L = 2; - DCI_pdu->dci_alloc[0].rnti = 0x1235; - DCI_pdu->dci_alloc[0].format = format1; - DCI_pdu->dci_alloc[0].ra_flag = 0; - - DLSCH_alloc_pdu.rballoc = rballoc; - DLSCH_alloc_pdu.TPC = 0; - DLSCH_alloc_pdu.dai = 0; - DLSCH_alloc_pdu.harq_pid = 0; - DLSCH_alloc_pdu.mcs = openair_daq_vars.target_ue_dl_mcs; - //DLSCH_alloc_pdu.mcs = (unsigned char) ((phy_vars_eNB->frame%1024)%28); - DLSCH_alloc_pdu.ndi = phy_vars_eNB->proc[sched_subframe].frame_tx&1; - DLSCH_alloc_pdu.rv = 0; - memcpy((void*)&DCI_pdu->dci_alloc[0].dci_pdu[0],(void *)&DLSCH_alloc_pdu,sizeof(DCI1_5MHz_TDD_t)); + break; + case 50: - /* - //user2 - DCI_pdu->dci_alloc[1].dci_length = sizeof_DCI1_5MHz_TDD_t; - DCI_pdu->dci_alloc[1].L = 2; - DCI_pdu->dci_alloc[1].rnti = 0x1236; - DCI_pdu->dci_alloc[1].format = format1; - DCI_pdu->dci_alloc[1].ra_flag = 0; + case 100: - DLSCH_alloc_pdu.rballoc = rballoc2; - DLSCH_alloc_pdu.TPC = 0; - DLSCH_alloc_pdu.dai = 0; - DLSCH_alloc_pdu.harq_pid = 1; - //DLSCH_alloc_pdu.mcs = (unsigned char) ((phy_vars_eNB->proc[subframe].frame%1024)%28); - DLSCH_alloc_pdu.mcs = openair_daq_vars.target_ue_dl_mcs; - DLSCH_alloc_pdu.ndi = 1; - DLSCH_alloc_pdu.rv = 0; - memcpy((void*)&DCI_pdu->dci_alloc[1].dci_pdu[0],(void *)&DLSCH_alloc_pdu,sizeof(DCI1_5MHz_TDD_t)); - */ + } + } else if (transmission_mode==5) { DCI_pdu->Num_ue_spec_dci = 2; -- GitLab