From 0629f3dce2c2c940e41371fc20847f427b61fc74 Mon Sep 17 00:00:00 2001 From: Nicola Baldo Date: Mon, 17 Dec 2012 20:03:07 +0100 Subject: [PATCH] zero SRS guard time since we use static SRS periodicity now --- src/lte/model/lte-enb-phy.cc | 3 ++- src/lte/model/lte-ue-phy.cc | 8 +++----- src/lte/test/lte-test-rr-ff-mac-scheduler.cc | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/lte/model/lte-enb-phy.cc b/src/lte/model/lte-enb-phy.cc index 8500b3632..d52c28344 100644 --- a/src/lte/model/lte-enb-phy.cc +++ b/src/lte/model/lte-enb-phy.cc @@ -897,7 +897,8 @@ LteEnbPhy::DoSetSrsConfigurationIndex (uint16_t rnti, uint16_t srcCi) // inhibit SRS until RRC Connection Reconfiguration propagates // to UEs, otherwise we might be wrong in determining the UE who // actually sent the SRS (if the UE was using a stale SRS config) - m_srsStartTime = Simulator::Now () + MilliSeconds (m_macChTtiDelay) + MilliSeconds (20); + // if we use a static SRS configuration index, we can have a 0ms guard time + m_srsStartTime = Simulator::Now () + MilliSeconds (m_macChTtiDelay) + MilliSeconds (0); } NS_LOG_DEBUG (this << " ENB SRS P " << m_srsPeriodicity << " RNTI " << rnti << " offset " << GetSrsSubframeOffset (srcCi) << " CI " << srcCi); diff --git a/src/lte/model/lte-ue-phy.cc b/src/lte/model/lte-ue-phy.cc index 8616c7581..93fcee068 100644 --- a/src/lte/model/lte-ue-phy.cc +++ b/src/lte/model/lte-ue-phy.cc @@ -925,11 +925,9 @@ LteUePhy::DoSetSrsConfigurationIndex (uint16_t srcCi) m_srsSubframeOffset = GetSrsSubframeOffset (srcCi); m_srsConfigured = true; - // Need a guard time for the case where the SRS periodicity is changed - // to make sure no UE sends SRSs before all UEs received the new SRS configuration. - // Note that the eNB will send the new SRS config to all UEs at the same time, - // but with the real RRC model the time it takes to reach each UE might vary. - m_srsStartTime = Simulator::Now () + MilliSeconds (20); + // a guard time is needed for the case where the SRS periodicity is changed dynamically at run time + // if we use a static one, we can have a 0ms guard time + m_srsStartTime = Simulator::Now () + MilliSeconds (0); NS_LOG_DEBUG (this << " UE SRS P " << m_srsPeriodicity << " RNTI " << m_rnti << " offset " << m_srsSubframeOffset << " cellId " << m_cellId << " CI " << srcCi); } diff --git a/src/lte/test/lte-test-rr-ff-mac-scheduler.cc b/src/lte/test/lte-test-rr-ff-mac-scheduler.cc index 510d6b463..d39a70118 100644 --- a/src/lte/test/lte-test-rr-ff-mac-scheduler.cc +++ b/src/lte/test/lte-test-rr-ff-mac-scheduler.cc @@ -58,8 +58,7 @@ LenaTestRrFfMacSchedulerSuite::LenaTestRrFfMacSchedulerSuite () { NS_LOG_INFO ("creating LenaRrFfMacSchedulerTestCase"); - AddTestCase (new LenaRrFfMacSchedulerTestCase (9,0,15000,22000,15000)); - + AddTestCase (new LenaRrFfMacSchedulerTestCase (15,0,15000,17600,7000)); // DOWNLINK- DISTANCE 0 -> MCS 28 -> Itbs 26 (from table 7.1.7.2.1-1 of 36.213) // 1 user -> 24 PRB at Itbs 26 -> 2196 -> 2196000 bytes/sec