myOpenWNS - change of simulations parameters

Asked by kharny on 2009-11-30

Hi everybody,
I've got some questions and need your help.

- myFirstCampaign/experiement/: is there a way to let the SINR-value of the channel be shown, when I change the parameters
                                                     (offset,distFactor...) of myPathloss(...) in config.py of an experiment?

- Regarding the DraftN specifications, I plan to change several parameters and eventually write some functions (i.e. for Rate Adaptation) in other to simulate a particular scenario. I've noticed, that some files are located at several places and i'd like to know, if i'm absolutly supposed to apply a change of a parameter at all the places, this one is located, or if there is a central place, where changes must be done? Especially, do some hidden files exist, that should be changed?

Thanks
Regards
Kharny

Question information

Language:
English Edit question
Status:
Solved
For:
openWNS SDK Edit question
Assignee:
No assignee Edit question
Solved by:
kharny
Solved:
2009-12-02
Last query:
2009-12-02
Last reply:
2009-12-01

Hi,

as a general introduction to probing you can have a look at
tests/system/libwns-tests/queuing/ it uses the files in
framework/library/src/queuingsystem/ and
framework/library/PyConfig/openwns/queuingsystem.py. The probe you would
like to see the results of is "wifimac.linkQuality.sinr".

If you have "networkProbes = True" in
"wifimac.evaluation.default.installEvaluation" of your config.py the
results will be probed, but the current default configuration does to
much processing with the results. You want to keep it simple most likely.

Assure networkProbes is set to False in config.py where it calls
"wifimac.evaluation.default.installEvaluation"

Add the following lines to your config.py:

from openwns.evaluation import *

#We want to probe SINR
node = openwns.evaluation.createSourceNode(WNS, "wifimac.linkQuality.sinr")

#We do not want to probe before the settling time has passed
node.getLeafs().appendChildren(openwns.evaluation.generators.SettlingTimeGuard(settlingTime))

#We want to probe for each MAC Id
node.getLeafs().appendChildren(openwns.evaluation.generators.Separate(
                        by = 'MAC.Id',
                        forAll = staIDs + apIDs,
                        format = 'Id%d'))

#We want results in a PDF / CDF /CCDF reaching from -100 dB to 100 dB in
steps of 0.1 dB
node.getLeafs().appendChildren(openwns.evaluation.generators.PDF(minXValue
= -100.0, maxXValue = 100.0, resolution = 1000))

Now you can see the wifimac.linkQuality.sinr distribution per MAC Id
either in your "output" directory or using Wrowser.

If a model of type offest + frequencyFactor * log10(frequency) +
distanceFactor * log10(distance) is sufficient for you, you only have to
change the parameters at "myPathloss" in "config.py".

Sebastian Max is the expert on changing WiFi MAC parameters. He's
currently out of office, but I am sure he can help you with details on
where to change parameters when he is back. There should not be any
hidden files involved, but some stuff in some directories is also in
__init__.py

When changing files in modules/dll/wifimac/PyConfig you have to
recompile your simulator. When using campaigns you have to call
./playground.py preparecampaign [dir] again with [dir] pointing to
myFirstCampaign. You then have to select "U" for Update when asked.
Changes in config.py do not require update/recompile.

Greats,

Mac

kharny wrote:
> New question #92263 on openWNS SDK:
> https://answers.launchpad.net/openwns-sdk/+question/92263
>
>
> Hi everybody,
> I've got some questions and need your help.
>
> - myFirstCampaign/experiement/: is there a way to let the SINR-value of the channel be shown, when I change the parameters
> (offset,distFactor...) of myPathloss(...) in config.py of an experiment?
>
> - Regarding the DraftN specifications, I plan to change several parameters and eventually write some functions (i.e. for Rate Adaptation) in other to simulate a particular scenario. I've noticed, that some files are located at several places and i'd like to know, if i'm absolutly supposed to apply a change of a parameter at all the places, this one is located, or if there is a central place, where changes must be done? Especially, do some hidden files exist, that should be changed?
>
> Thanks
> Regards
> Kharny
>
>

kharny (kharny) said : #2

Hi Maciej,
I had already found some informations at
http://docs.openwns.org/simulationPlatform/EvaluationFramework.html
But instead of writing
------------------------------
from openwns.evaluation import
node = openwns.evaluation.createSourceNode(sim, 'SINR')
node.addChildren(Moments())
------------------------------

I insert the follwing lines at the end of the config.py-file.

------------------------------
from openwns.evaluation import *
node = openwns.evaluation.createSourceNode(WNS, 'SINR')
node.appendChildren(Moments())
------------------------------

because, at this point, "sim" and "addChildren" hasn't been recognized. I don't know, if I misunderstood it, but that document seems to have some errors! May be You could check it, guys!
On the other hand, thanks a lot for your message. This could solve my problem. I inserted it in the config.py-file and was able to check the results through te wrowser.

Regards
Kharny