LTE Helper Assumptions

910 views
Skip to first unread message

Madan Pande

unread,
May 23, 2013, 2:45:08 AM5/23/13
to ns-3-...@googlegroups.com
Hi,

      LteHelper DoStart function expects a Propagation model and a Fading model...

2. I need to change the Fading model and Propagation models, instead of the TraceFadinglossModel and FriisPropagationLossModel (the presumed defaults)... Also, some of the models in spectrum and propagation modules use a default frequency (e.g. 5.3Ghz)...

3. The NS-3.16 documentation says:
=================
17.2.4 Configuration of LTE model parameters
All the relevant LTE model parameters are managed through the ns-3 attribute system. Please refer to the [ns3tutorial]
and [ns3manual] for detailed information on all the possible methods to do it (environmental variables, C++ API,
132
Chapter 17. LTE Module
ns-3 Model Library, Release ns-3.16
GtkConfigStore...).
In the following, we just briefly summarize how to do it using input files together with the ns-3 ConfigStore. First of
all, you need to put the following in your simulation program, right after main () starts:
CommandLine cmd;
cmd.Parse (argc, argv);
ConfigStore inputConfig;
inputConfig.ConfigureDefaults ();
// parse again so you can override default values from the command line
cmd.Parse (argc, argv);
for the above to work, make sure you also #include "ns3/config-store.h". Now create a text file named
(for example) input-defaults.txt specifying the new default values that you want to use for some attributes:

default ns3::LteHelper::Scheduler "ns3::PfFfMacScheduler"
default ns3::LteHelper::PathlossModel "ns3::FriisSpectrumPropagationLossModel"
default ns3::LteEnbNetDevice::UlBandwidth "25"
default ns3::LteEnbNetDevice::DlBandwidth "25"
default ns3::LteEnbNetDevice::DlEarfcn "100"
default ns3::LteEnbNetDevice::UlEarfcn "18100"
default ns3::LteUePhy::TxPower "10"
default ns3::LteUePhy::NoiseFigure "9"
default ns3::LteEnbPhy::TxPower "30"
default ns3::LteEnbPhy::NoiseFigure "5"
Supposing your simulation program is called src/lte/examples/lte-sim-with-input, you can now pass
these settings to the simulation program in the following way:
./waf --command-template="%s --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode
Furthermore, you can generate a template input file with the following command:
./waf --command-template="%s --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode
note that the above will put in the file input-defaults.txt all the default values that are registered in your particular build of the simulator, including lots of non-LTE attributes.
  .
==============================================
 

My question is whether the input-defaults.txt override only LTE params or also the spectrum and propagation defaults used by Lte-helper??

Or do I specifically mention:

default ns3::Spectrum...blah...blah...blah
default ns3::Cost231Propagation...blah...blah...blah

or does ns-3 allow multiple input-defaults.txt files...so that exec runs can be done more easily for different param values...
 
With Thanks in advance...

With Regards,
madan

Madan Pande

unread,
May 23, 2013, 6:18:45 AM5/23/13
to ns-3-...@googlegroups.com, nba...@cttc.es
Nicola,

              If I define any Propagation Loss Model instead of the default Friis, or change the Fading Loss Model to Jakes FadingLossModel (taken from NS-3-Dev) instead of the Trace Fading Loss Model...while the compilation goes through, yet a runtime error props up at LteHelper::DoStart, as it apparently expects some definite value when finding dlplm and dlsplm...

If I examine lena-fading.cc, it does not refer to any DL or UL models it just uses:
lteHelper->SetAttribute ("FadingModel", StringValue ("ns3::TraceFadingLossModel"));

and it does not define the FriisPropagationLossModel either...

hence the information probably would come from lte-helper.cc:

   .AddAttribute ("PathlossModel",
                   "The type of pathloss model to be used",
   //               StringValue ("ns3::FriisPropagationLossModel"),
                    StringValue ("ns3::Cost231PropagationLossModel"),
                  MakeStringAccessor (&LteHelper::SetPathlossModelType),
                   MakeStringChecker ())
    .AddAttribute ("FadingModel",
                   "The type of fading model to be used",
 //                  StringValue (""), // fake module -> no fading
                     StringValue ("ns3::JakesFadingLossModel"),
                   MakeStringAccessor (&LteHelper::SetFadingModel),
                   MakeStringChecker ())

Hence, I am missing out some code necessary to change the PropagationLossModel and FadingModel,,,

Any suggestions Please...

With Regards,
madan


=====================
From: mador...@hotmail.com
To: ns-3-...@googlegroups.com
Subject: LTE Helper Assumptions
Date: Thu, 23 May 2013 12:15:08 +0530
--
You received this message because you are subscribed to the Google Groups "ns-3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ns-3-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Budiarto Herman

unread,
May 23, 2013, 1:20:20 PM5/23/13
to ns-3-...@googlegroups.com
Hi Madan,


> Or do I specifically mention:
>
> default ns3::Spectrum...blah...blah...
> blah
> default ns3::Cost231Propagation...blah...blah...blah

I think you're on the right track already. For example, if you want to change the path loss model, then you can specify this line in your input-defaults.txt file:

default ns3::LteHelper::PathlossModel "ns3::Cost231PropagationLossModel"

And then if you want to change the default attribute of the path loss model, you can specify it in the same input-defaults.txt, for example:

default ns3::Cost231PropagationLossModel::BSAntennaHeight "100.0"


> My question is whether the input-defaults.txt override only LTE params or also the spectrum and propagation defaults used by Lte-helper??

It can override all of those if you mention them in the file. In other words, input-defaults.txt will only override the parameters that are mentioned inside the file.


> or does ns-3 allow multiple input-defaults.txt files...so that exec runs can be done more easily for different param values...

Let say your other file is other-defaults.txt. Then you can change your execution command to:
/waf --command-template="%s --ns3::ConfigStore::Filename=other-defaults.txt --ns3::ConfigStore::Mode=Load --ns3::ConfigStore::FileFormat=RawText" --run src/lte/examples/lte-sim-with-input


> hence the information probably would come from lte-helper.cc:

Your code change to lte-helper.cc might solve your problem too, but is not necessary if you already use input-defaults.txt.

Regards,
-budi-

Madan Pande

unread,
May 24, 2013, 1:13:21 AM5/24/13
to ns-3-...@googlegroups.com
Budi,

              Thanks a lot...Does Make Sense...

I will try out the suggestions and aim at using different Propagation and Fading models...

With Regards,
madan


Date: Thu, 23 May 2013 10:20:20 -0700
From: budiarto...@student.jyu.fi
To: ns-3-...@googlegroups.com
Subject: Re: LTE Helper Assumptions

Marco Miozzo

unread,
May 24, 2013, 4:12:52 AM5/24/13
to ns-3-...@googlegroups.com
Hi all,

just as a side note, the fading model has to be a child of SpectrumPropagationLossModel in order to be used in LTE (as defined in lte-helper.h) for including the frequency selectivity (spectrum framework).
JakesFadingLossModel is not a good candidate to be used on this respect, since it is a single frequency model (DiscreteTimeLossModel).

My two cents,
marco.

Madan Pande

unread,
May 24, 2013, 5:11:42 AM5/24/13
to ns-3-...@googlegroups.com
Marco,

            Really two clarifications please...since you are on it...

Q.1             I need a fast fading model...which one should I use...? IMHO, it may not be a problem in a CA code...as CCs would change???

Q.2            I want to use one of the propagation loss models like cost231, instead of Friis...None of the examples in LTE in NS-3 define any PropagationLossModel, and in addition lte-Helper has an include file friis-spectrum-propagation-loss.h, so I presume it is the default??? but the issue that comes up is that when I define  a PathLossModel with lteHelper, I get a run time error in DoStart...which cribs about dlsplm or dplm ... I am trying to find a way out...

With Regards,
madan



Date: Fri, 24 May 2013 10:12:52 +0200

Subject: Re: LTE Helper Assumptions

Marco Miozzo

unread,
May 24, 2013, 7:08:03 AM5/24/13
to ns-3-...@googlegroups.com
Hi,

Q1. right now, fast fading model working in lena, there is only the trace fading loss model (since it has to be frequency selective), I would go for this one.

Q2. may let me suggest you to have a look to the HybridBuildingsPropagationLossModel, which includes a set of well known propagation models. Or you can use directly the ones defined in propagation module. Refer to lte-test-pathloss-models.cc as an example of their usage.

Regards,
marco.

Madan Pande

unread,
May 24, 2013, 7:17:56 AM5/24/13
to ns-3-...@googlegroups.com
Marco,

           So nice of you to respond so quickly...

Yes, I will try out your recommendations...

With Thanks and Regards,
madan


Date: Fri, 24 May 2013 13:08:03 +0200

Nicola Baldo

unread,
May 25, 2013, 3:36:36 PM5/25/13
to ns-3-...@googlegroups.com, nba...@cttc.es
Hi Madan,


On Thursday, May 23, 2013 12:18:45 PM UTC+2, mador...@hotmail.com wrote:
              If I define any Propagation Loss Model instead of the default Friis, or change the Fading Loss Model to Jakes FadingLossModel (taken from NS-3-Dev) instead of the Trace Fading Loss Model...while the compilation goes through, yet a runtime error props up at LteHelper::DoStart, as it apparently expects some definite value when finding dlplm and dlsplm...

the key thing to understand is that:

1) the attribute ns3::LteHelper::PathlossModel needs to refer to a model derived from PropagationLossModel

2) the attribute ns3::LteHelper::FadingModel needs to refer to a model derived from SpectrumPropagationLossModel

That's why JakesFadingLossModel gives you a run time error. Cost231 should work.

Madan Pande

unread,
May 26, 2013, 2:28:54 AM5/26/13
to ns-3-...@googlegroups.com
Nicola,

        As always, your elucidations are heartening...!!!

2. Basically, I need to compute Tbs from MCS/Sinr/Noise figures...but with a frequency and distance sensitive propagation & fast fading loss model...(LOS/NLOS...with some fast fading...), even with 46dBm Tx power, at distances beyond 1500 meters...the simulated model performance is hardly measurable...(Lte should work for say up to 10 Kms...). I use frequencies in the range 2.0 ~ 3.4 Ghz ... (Yes, I have run the main-propagation-loss-model example, which gives some impressive graphs...)

2. I wanted to use cost231, as it has settings for urban/semii-urban envs... but the down side is that it does not have any psd calculation functions...Given a choice, I would like to use spectral power densities(Tx/Noise/Rx)...

3. Putting it other way, The available function in cost231 is only "DoCalcRxPower" which also happens to be private ... in addition, the DoCalcRxPower is independent of frequency, only distance can be used...which then is not very helpful...So, I thought I should use a frequency dependent fading model over and above propagation model...this is where I was going...

4. In NS-3, we only have 3 traces for TraceFadingLossModel of 10 secs ...and would need to generate additional traces via Matlab script...(I wish one could do something with QtOctave) ... There is no Zheng model either...


With Thanks and Regards,
madan


Date: Sat, 25 May 2013 12:36:36 -0700
From: nba...@cttc.es
To: ns-3-...@googlegroups.com
CC: nba...@cttc.es

Subject: Re: LTE Helper Assumptions

Nicola Baldo

unread,
May 27, 2013, 4:55:42 AM5/27/13
to ns-3-...@googlegroups.com


On Sunday, May 26, 2013 8:28:54 AM UTC+2, mador...@hotmail.com wrote:
2. Basically, I need to compute Tbs from MCS/Sinr/Noise figures...but with a frequency and distance sensitive propagation & fast fading loss model...(LOS/NLOS...with some fast fading...), even with 46dBm Tx power, at distances beyond 1500 meters...the simulated model performance is hardly measurable...(Lte should work for say up to 10 Kms...). I use frequencies in the range 2.0 ~ 3.4 Ghz ... (Yes, I have run the main-propagation-loss-model example, which gives some impressive graphs...)

2. I wanted to use cost231, as it has settings for urban/semii-urban envs... but the down side is that it does not have any psd calculation functions...Given a choice, I would like to use spectral power densities(Tx/Noise/Rx)...

3. Putting it other way, The available function in cost231 is only "DoCalcRxPower" which also happens to be private ... in addition, the DoCalcRxPower is independent of frequency, only distance can be used...which then is not very helpful...So, I thought I should use a frequency dependent fading model over and above propagation model...this is where I was going...


Madan, please spend some time asking yourself why there are two separate attributes called ns3::LteHelper::PathlossModel and ns3::LteHelper::FadingModel.
If you want to understand how this works under the hood, please have a look at LteHelper::DoInitialize and MultiModelSpectrumChannel::StartTx
 

4. In NS-3, we only have 3 traces for TraceFadingLossModel of 10 secs ...and would need to generate additional traces via Matlab script...(I wish one could do something with QtOctave) ... There is no Zheng model either...

please see this section of the documentation on this matter:
http://lena.cttc.es/manual/lte-design.html#fading-model
 

Madan Pande

unread,
May 27, 2013, 7:20:37 AM5/27/13
to ns-3-...@googlegroups.com
Nicola,

            Perhaps I have not been able to convey my thoughts adequately...

2. I will certainly again go through what you suggest...Thank you so much Sir...

3. Please see the attached figures... obtained with mylena-simple.cc slightly modified...
Here I have changed the propagation model frequency at a given distance onwards...the PropagationLossModel used is Cost231 with env set as MediumCity. Although, the Enb is still using the 100, 18100 Earfcns... based on default config...
 
 
 
 
 
 


4. However, what I want to do is to be able to progmatically change, during the simulation, the DlEarfcn,and UlEarfcn from theier defaults and  match the Frequency being used for PropagationLossModel (e.g. Cost231)...

     So, I am looking for advice on which is the best way to do so? Using Callback to over ride config by adding a simulator event, or something else...???
 
I hope I am somewhat clearer now...

With Regards,
madan


Date: Mon, 27 May 2013 01:55:42 -0700
From: nba...@cttc.es
To: ns-3-...@googlegroups.com

Subject: Re: LTE Helper Assumptions



MCS-1.5km.png
PathLoss-Cost231-Medium-City-1.5km.png
TBsize-1.5km.png

Nicola Baldo

unread,
Jun 3, 2013, 4:29:54 AM6/3/13
to ns-3-...@googlegroups.com
Hi Madan,


On Monday, May 27, 2013 1:20:37 PM UTC+2, mador...@hotmail.com wrote:

3. Please see the attached figures... obtained with mylena-simple.cc slightly modified...
Here I have changed the propagation model frequency at a given distance onwards...the PropagationLossModel used is Cost231 with env set as MediumCity. Although, the Enb is still using the 100, 18100 Earfcns... based on default config...

One thing that you could do is compare the pathloss plot that you got with the one that you can obtain from the octave scripts at src/propagation/test/reference/

 


4. However, what I want to do is to be able to progmatically change, during the simulation, the DlEarfcn,and UlEarfcn from theier defaults and  match the Frequency being used for PropagationLossModel (e.g. Cost231)...

     So, I am looking for advice on which is the best way to do so? Using Callback to over ride config by adding a simulator event, or something else...???
 

The current LteHelper sets the frequecy for progation models at the setup  of the simulation based on the EARFCN setting. If you want to change it later. you'll have to reach the instances of the propagation model, and change the frequency attribute.
 


Madan Pande

unread,
Jun 3, 2013, 12:34:04 PM6/3/13
to ns-3-...@googlegroups.com
Nicola,

               Thank you so much Sir...

2. While waiting for your reply, I reached the same solution but by meandering about in the code

3. What you say would work...the difficult part was the way to figure out how many different ways Earfcn and BW get values in to the  models...it took some debugging effort surely...

4. I followed your under the hood advice I found that the  place where things happen is the various
DoInitialise() and that helped...

Thank You again

With Regards,
madan


Date: Mon, 3 Jun 2013 01:29:54 -0700

From: nba...@cttc.es
To: ns-3-...@googlegroups.com
Subject: Re: LTE Helper Assumptions

sahar abdi

unread,
Apr 16, 2017, 4:50:56 AM4/16/17
to ns-3-users
Hello mador
please connect me,thank you
Reply all
Reply to author
Forward
0 new messages