Follow up on #60337, Changing the bit rate

Asked by barbara on 2009-03-23


I've a follow-up on Nikola's question. I'm interested in the benefits of using MCS assignment as a design parameter for mesh network planning. That is, I would like to assign a specific MCS and hence data rate, which shall remain the same during the simulation run, to each link which is used for routing purposes.

It would be easy to create eight clones of ConstantLow for assigning different MCS to stations. However, I would like stations to use different MCS for different links. Is this possible with some of your rate adaptation strategies or would one have to write a more complex rate adaptation strategy?


Question information

English Edit question
openWNS WiFiMAC Edit question
No assignee Edit question
Solved by:
Sebastian Max
Last query:
Last reply:
Best Sebastian Max (smx-comnets) said : #1

Hi Barbara,

Thanks for your question! Just for clarification, let's take the following exemplary scenario:
STA1 <-- AP --> STA2
Distance between AP and STA 1/2 is the same and negligible, i.e., no hidden nodes. You would like to set, for the rate adaptation at the AP
* constant MCS of BPSK 1/2 for traffic going to STA1
* constant QPSK1/2 for traffic going to STA2.

This is currently not possible with any of the rate adaptation strategies: ConstantLow is much too simple, Opportunistic too complex (and not constant), and SINR/SINRwithMIMO cannot be used (and, even if, they would not be fixed).

For your problem, two things have to be changed:
1.) Rate adaptation strategies need to be configurable during runtime using the PyConfig.
2.) A special RA strategy needs as config a dict ID -> MCS Id

Shortly, you will find a commit that implements (1). As an example, the ConstantLow strategy will be replaced by Constant(id), which allows to choose the id of the MCS. The RA strategy at (2) is very special, I am afraid you need to write it on you own. The information provided by the IRateAdaptationStrategy should be sufficient, you could e.g. derive from "Constant".

I hope that helps, BR,

barbara (bstaehle) said : #2

Thanks Sebastian Max, that solved my question.

Sebastian Max (smx-comnets) said : #3

Revision 33 (now commited) adds the promised configuratin for rate adaptation strategies.


Sebastian Deschner (deschner) said : #4

I've the following Problem. I have a version of openWNS on a Ubuntu VirtualBox Image, which you gave out at a workshop in Aachen.
In that version there are some plugins. For example a plugin to create a campaign.
My Problem is that when ich tell the to upgrade I don't get the new Constant file.
So I downloaded the Projekt like discribed in the developers guid via bzr branch ~comnets/openwns-sdk/sdk--main--1.0 . By doing this I got the Constant file, but there are no plugins in that version of openWNS.
My Question is: How do I get both, the plugins (especialy the one to create a campaign and the wrowser) and the new Files. And why don't I get them by exectuing ./ upgrade

 Sebastian Deschner

Sebastian Max (smx-comnets) said : #5

Hi Sebastian,

Updating the wifimac alone should work. For this, go into the wifimac directory (modules/dll/wifimac) and call

'bzr missing'

This should show you that you have (at least) one missing revision. To get this revision from launchpad, use

'bzr pull'

If you have already changed the code, you might need to use the parameter '--force'. If you have commited changes (locally) to the code, the two branches (the one on launchpad and you local one) have diverged; thus, you need to use

'bzr merge'

More documentation about the (ingenious) bzr can be found in the bzr-help or under and several other webpages.