From f2db7e7334f10dc81ff4e82da529a52bb484a3d3 Mon Sep 17 00:00:00 2001 From: Marco Miozzo Date: Thu, 7 Jul 2011 13:36:22 +0200 Subject: [PATCH] Connect BuldingsMobilityModel and BuildingsPropagationLossModel --- src/lte/examples/lena-first-sim.cc | 13 +++++++++---- src/lte/helper/lena-helper.cc | 7 ++++++- src/lte/helper/lena-helper.h | 4 ++++ .../model/buildings-propagation-loss-model.cc | 2 -- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/lte/examples/lena-first-sim.cc b/src/lte/examples/lena-first-sim.cc index cebaac34d..5877bf3a9 100644 --- a/src/lte/examples/lena-first-sim.cc +++ b/src/lte/examples/lena-first-sim.cc @@ -51,7 +51,12 @@ int main (int argc, char *argv[]) // LogComponentEnable ("LtePhy", LOG_LEVEL_ALL); LogComponentEnable ("LteEnbPhy", LOG_LEVEL_ALL); // LogComponentEnable ("LteUePhy", LOG_LEVEL_ALL); - LogComponentEnable ("PfFfMacScheduler", LOG_LEVEL_ALL); +// LogComponentEnable ("PfFfMacScheduler", LOG_LEVEL_ALL); + LogComponentEnable ("LenaHelper", LOG_LEVEL_ALL); + LogComponentEnable ("BuildingsPropagationLossModel", LOG_LEVEL_ALL); + LogComponentEnable ("BuildingsPropagationLossModel", LOG_LEVEL_ALL); + + lena->SetAttribute ("PropagationModel", StringValue ("ns3::SingleModelSpectrumChannel")); // Create Nodes: eNodeB and UE NodeContainer enbNodes; @@ -61,9 +66,9 @@ int main (int argc, char *argv[]) // Install Mobility Model MobilityHelper mobility; - mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel"); + mobility.SetMobilityModel ("ns3::BuildingsMobilityModel"); mobility.Install (enbNodes); - mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel"); + mobility.SetMobilityModel ("ns3::BuildingsMobilityModel"); mobility.Install (ueNodes); // Create Devices and install them in the Nodes (eNB and UE) @@ -83,7 +88,7 @@ int main (int argc, char *argv[]) lena->ActivateEpsBearer (ueDevs, bearer); - Simulator::Stop (Seconds (0.010)); + Simulator::Stop (Seconds (0.005)); Simulator::Run (); diff --git a/src/lte/helper/lena-helper.cc b/src/lte/helper/lena-helper.cc index edf6e4341..4056a5894 100644 --- a/src/lte/helper/lena-helper.cc +++ b/src/lte/helper/lena-helper.cc @@ -45,6 +45,8 @@ #include +#include + NS_LOG_COMPONENT_DEFINE ("LenaHelper"); @@ -67,6 +69,10 @@ LenaHelper::DoStart (void) Ptr ulPropagationModel = m_propagationModelFactory.Create (); m_downlinkChannel->AddSpectrumPropagationLossModel (dlPropagationModel); m_uplinkChannel->AddSpectrumPropagationLossModel (ulPropagationModel); + m_downlinkPropagationLossModel = CreateObject (); + m_uplinkPropagationLossModel = CreateObject (); + m_downlinkChannel->AddPropagationLossModel (m_downlinkPropagationLossModel); + m_uplinkChannel->AddPropagationLossModel (m_uplinkPropagationLossModel); m_macStats = CreateObject (); m_rlcStats = CreateObject (); Object::DoStart (); @@ -203,7 +209,6 @@ LenaHelper::InstallSingleEnbDevice (Ptr n) NS_ASSERT_MSG (mm, "MobilityModel needs to be set on node before calling LenaHelper::InstallUeDevice ()"); dlPhy->SetMobility (mm); ulPhy->SetMobility (mm); - m_uplinkChannel->AddRx (ulPhy); Ptr mac = CreateObject (); diff --git a/src/lte/helper/lena-helper.h b/src/lte/helper/lena-helper.h index 1ec4e69f7..8087483e7 100644 --- a/src/lte/helper/lena-helper.h +++ b/src/lte/helper/lena-helper.h @@ -39,6 +39,7 @@ namespace ns3 { class LteUePhy; class LteEnbPhy; class SpectrumChannel; +class PropagationLossModel; /** @@ -196,6 +197,9 @@ private: Ptr m_downlinkChannel; Ptr m_uplinkChannel; + + Ptr m_downlinkPropagationLossModel; + Ptr m_uplinkPropagationLossModel; ObjectFactory m_schedulerFactory; ObjectFactory m_propagationModelFactory; diff --git a/src/propagation/model/buildings-propagation-loss-model.cc b/src/propagation/model/buildings-propagation-loss-model.cc index d247855e4..46bf6ab93 100644 --- a/src/propagation/model/buildings-propagation-loss-model.cc +++ b/src/propagation/model/buildings-propagation-loss-model.cc @@ -270,7 +270,6 @@ BuildingsPropagationLossModel::BEWPL (Ptr a) const double BuildingsPropagationLossModel::GetLoss (Ptr a, Ptr b) const { - NS_LOG_INFO (this << " RX POWER"); double distance = a->GetDistanceFrom (b); if (distance <= m_minDistance) @@ -365,7 +364,6 @@ BuildingsPropagationLossModel::GetLoss (Ptr a, Ptr double BuildingsPropagationLossModel::DoCalcRxPower (double txPowerDbm, Ptr a, Ptr b) const { - NS_LOG_INFO (this << " RX POWER"); return txPowerDbm + GetLoss (a, b); }