View | Details | Raw Unified | Return to bug 2840
Collapse All | Expand All

(-)a/src/lte/helper/lte-helper.cc (-3 / +46 lines)
 Lines 197-202    Link Here 
197
                   UintegerValue (1),
197
                   UintegerValue (1),
198
                   MakeUintegerAccessor (&LteHelper::m_noOfCcs),
198
                   MakeUintegerAccessor (&LteHelper::m_noOfCcs),
199
                   MakeUintegerChecker<uint16_t> (MIN_NO_CC, MAX_NO_CC))
199
                   MakeUintegerChecker<uint16_t> (MIN_NO_CC, MAX_NO_CC))
200
   .AddAttribute ("UeUlCcBandwidth",
201
                   "Uplink Transmission Bandwidth Configuration in number of Resource Blocks",
202
                   UintegerValue (25),
203
                   MakeUintegerAccessor (&LteHelper::m_ulCcBw),
204
                   MakeUintegerChecker<uint8_t> ())
205
    .AddAttribute ("UeDlCcBandwidth",
206
                   "Downlink Transmission Bandwidth Configuration in number of Resource Blocks",
207
                   UintegerValue (25),
208
                   MakeUintegerAccessor (&LteHelper::m_dlCcBw),
209
                   MakeUintegerChecker<uint8_t> ())
210
    .AddAttribute ("UeUlCcEarfcn",
211
                   "Uplink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) "
212
                   "as per 3GPP 36.101 Section 5.7.3. ",
213
                   UintegerValue (18100),
214
                   MakeUintegerAccessor (&LteHelper::m_ulCcEarfcn),
215
                   MakeUintegerChecker<uint32_t> (0, 262143))
200
  ;
216
  ;
201
  return tid;
217
  return tid;
202
}
218
}
 Lines 518-527    Link Here 
518
  Ptr<LteEnbNetDevice> dev = m_enbNetDeviceFactory.Create<LteEnbNetDevice> ();
534
  Ptr<LteEnbNetDevice> dev = m_enbNetDeviceFactory.Create<LteEnbNetDevice> ();
519
  Ptr<LteHandoverAlgorithm> handoverAlgorithm = m_handoverAlgorithmFactory.Create<LteHandoverAlgorithm> ();
535
  Ptr<LteHandoverAlgorithm> handoverAlgorithm = m_handoverAlgorithmFactory.Create<LteHandoverAlgorithm> ();
520
536
521
  if (m_componentCarrierPhyParams.size() == 0)
537
/*  if (m_componentCarrierPhyParams.size() == 0)
522
    {
538
    {
523
      DoComponentCarrierConfigure (dev->GetUlEarfcn (), dev->GetDlEarfcn (), dev->GetUlBandwidth (), dev->GetDlBandwidth ());
539
      DoComponentCarrierConfigure (dev->GetUlEarfcn (), dev->GetDlEarfcn (), dev->GetUlBandwidth (), dev->GetDlBandwidth ());
524
    }
540
    }*/
541
542
  Ptr<CcHelper> ccHelper = CreateObject<CcHelper> ();
543
  ccHelper->SetNumberOfComponentCarriers (m_noOfCcs);
544
  ccHelper->SetUlEarfcn (dev->GetUlEarfcn ());
545
  ccHelper->SetDlEarfcn (dev->GetDlEarfcn ());
546
  ccHelper->SetDlBandwidth (dev->GetUlBandwidth ());
547
  ccHelper->SetUlBandwidth (dev->GetDlBandwidth ());
548
  m_componentCarrierPhyParams = ccHelper->EquallySpacedCcs ();
549
  m_componentCarrierPhyParams.at(0).SetAsPrimary(true);
525
550
526
  NS_ASSERT_MSG(m_componentCarrierPhyParams.size()!=0, "Cannot create enb ccm map.");
551
  NS_ASSERT_MSG(m_componentCarrierPhyParams.size()!=0, "Cannot create enb ccm map.");
527
  // create component carrier map for this eNb device
552
  // create component carrier map for this eNb device
 Lines 756-761    Link Here 
756
      rrc->SetEpcX2SapProvider (x2->GetEpcX2SapProvider ());
781
      rrc->SetEpcX2SapProvider (x2->GetEpcX2SapProvider ());
757
    }
782
    }
758
783
784
 m_componentCarrierPhyParams.clear();
785
759
  return dev;
786
  return dev;
760
}
787
}
761
788
 Lines 764-774    Link Here 
764
{
791
{
765
  NS_LOG_FUNCTION (this);
792
  NS_LOG_FUNCTION (this);
766
793
767
  NS_ABORT_MSG_IF (m_componentCarrierPhyParams.size() == 0 && m_useCa, "If CA is enabled, before call this method you need to install Enbs --> InstallEnbDevice()");
794
  //NS_ABORT_MSG_IF (m_componentCarrierPhyParams.size() == 0 && m_useCa, "If CA is enabled, before call this method you need to install Enbs --> InstallEnbDevice()");
795
796
  if(m_noOfCcs>1)
797
    {
798
      NS_LOG_WARN("User should remember to set the attributes, UeUlCcBandwidth, UeDlCcBandwidth and UeUlCcEarfcn for UE's primary component carrier. Else default values will be used");
799
    } 
768
800
769
  Ptr<LteUeNetDevice> dev = m_ueNetDeviceFactory.Create<LteUeNetDevice> ();
801
  Ptr<LteUeNetDevice> dev = m_ueNetDeviceFactory.Create<LteUeNetDevice> ();
770
  std::map<uint8_t, Ptr<ComponentCarrierUe> > ueCcMap;
802
  std::map<uint8_t, Ptr<ComponentCarrierUe> > ueCcMap;
771
803
804
  Ptr<CcHelper> ccHelper = CreateObject<CcHelper> ();
805
  ccHelper->SetNumberOfComponentCarriers (m_noOfCcs);
806
  ccHelper->SetUlEarfcn (m_ulCcEarfcn);
807
  ccHelper->SetDlEarfcn (dev->GetDlEarfcn ());
808
  ccHelper->SetDlBandwidth (m_ulCcBw);
809
  ccHelper->SetUlBandwidth (m_dlCcBw);
810
  m_componentCarrierPhyParams = ccHelper->EquallySpacedCcs ();
811
  m_componentCarrierPhyParams.at(0).SetAsPrimary(true);
812
772
  for (std::map< uint8_t, ComponentCarrier >::iterator it = m_componentCarrierPhyParams.begin() ; it != m_componentCarrierPhyParams.end(); ++it)
813
  for (std::map< uint8_t, ComponentCarrier >::iterator it = m_componentCarrierPhyParams.begin() ; it != m_componentCarrierPhyParams.end(); ++it)
773
    {
814
    {
774
      Ptr <ComponentCarrierUe> cc =  CreateObject<ComponentCarrierUe> ();
815
      Ptr <ComponentCarrierUe> cc =  CreateObject<ComponentCarrierUe> ();
 Lines 935-940    Link Here 
935
976
936
  dev->Initialize ();
977
  dev->Initialize ();
937
978
979
  m_componentCarrierPhyParams.clear();
980
  ueCcMap.clear();
938
  return dev;
981
  return dev;
939
}
982
}
940
983
(-)a/src/lte/helper/lte-helper.h (+6 lines)
 Lines 855-860    Link Here 
855
   */
855
   */
856
  uint16_t m_noOfCcs;
856
  uint16_t m_noOfCcs;
857
857
858
  uint8_t m_ulCcBw;
859
860
  uint8_t m_dlCcBw;
861
862
  uint32_t m_ulCcEarfcn;  
863
858
};   // end of `class LteHelper`
864
};   // end of `class LteHelper`
859
865
860
866

Return to bug 2840