802.11n: MCS and rate control models

833 views
Skip to first unread message

gd

unread,
Mar 17, 2015, 5:11:33 AM3/17/15
to ns-3-...@googlegroups.com
Hi all,

I have two questions concerning the 802.11n implementation in ns3:
  • When I look at the MCS table in the 802.11n standard (also mentioned here on Wikipedia) and I compare these with the rates of the MCS values of ns3 for example, in the ht-wifi-network.cc, I conclude that the rates for a MCS index > 7 differ a lot from the rates mentioned in the standard. For example, for MCS 15, the rate mentioned in the standard is 130, while the one in ns3 is 72.2Mbps. Has this something to do with ns3 maybe not supporting multiple spatial streams? How are these rates for a MCS > 7 chosen?
  • I wondered: in this topic, Sebastian Deronne mentions in his post that rate adaptation in 802.11n is not supported (and this was a reply at 11th of Feb, 2015). Is he talking about algorithms like the Arf and Aarf Rate control algorithm, etc.? Because I tested these algorithms with an simple client-server experiment in 802.11n and they do seem to work fine in my case. (See the attachment for a figure.) Should I not trust my results because normally it is not supported for 802.11n?
Thanks in advance,
Glenn
plotRx.png

Sebastien Deronne

unread,
Mar 17, 2015, 6:26:13 AM3/17/15
to ns-3-...@googlegroups.com
Hi,

Nice you spot it.

To be clear, the mcs variable used there is just a variable to go through all possible rates for SISO 802.11n systems, and it is indeed confusing with the real MCS definition.
And you are right, MIMO is not (yet) supported.

I recently refactored the ht-wifi-network.cc example, and I had indeed in my mind to rename the mcs variable into i or j or whatever. But for an unknown reason, I forgot to rename it. I will open a comment in Bugzilla to refactor this again.

Concerning the rate adaptation algorithms for 802.11n, I was indeed making reference to
Arf and Aarf, but not only: ALL rate adaptation algorithms (RAA) implemented in ns-3 do not PROPERLY work with 802.11n. It only works fine with the legacy rates, but not with the HT rates. The reason behind this is that legacy rates are part of the deviceRateSet, while HT rates are part of deviceMcsSet. Since RAA implemtations were done before .11n, they do not go through deviceMcsSet.

The fix seems easy: add support for deviceMcsSet in existing RAA.
But in 802.11n, it is a bit more complicated than that, it needs not only to select the MCS, but also the channel width, the guard interval, the number of SS (ok, no MIMO for the moment, but we must think of future implementations), and so forth. So, we need to implement new HT RAA.
Some already exist, we just need some brave people to implement them in ns-3 :-)

And finally, you should indeed not blindly trust your .11n results, Some differences will be observed with HT RAA.

I hope it is clearer now.
And if you need it for your work, feel free to start implementing it (we may help you in this task).

Cheers,
Sébastien.

Sebastien Deronne

unread,
Mar 17, 2015, 5:57:40 PM3/17/15
to ns-3-...@googlegroups.com
I opened a comment in bugzilla: https://www.nsnam.org/bugzilla/show_bug.cgi?id=2079
I will drop the changes to ns-3-dev later this week.

gd

unread,
Mar 18, 2015, 5:02:31 PM3/18/15
to ns-3-...@googlegroups.com
Hi Sebastien,

Thank you for your answer. Could you tell me where I can find those legacy rates? Are those the ones also mentioned in this topic (by the topic starter):
  • WifiPhy::GetOfdmRate6Mbps ();  
  • WifiPhy::GetOfdmRate12Mbps ();          
  • WifiPhy::GetOfdmRate24Mbps ();  
Are there more?

Thanks in advance,
Glenn

Sebastien Deronne

unread,
Mar 18, 2015, 5:14:34 PM3/18/15
to ns-3-...@googlegroups.com
I do not get your question!
Please be clear on what you want.

gd

unread,
Mar 19, 2015, 7:12:39 AM3/19/15
to ns-3-...@googlegroups.com
Hi Sebastien,

In your first answer, you said: "... It only works fine with the legacy rates, but not with the HT rates. ...". My question(s) is (are): What do you mean with legacy rates? Where can I find them specified (you mention something about the deviceRateSet, but I do not find anything about it in the documentation)? Are those legacy rates the ones (GetOfdmRate6Mbps(), GetOfdmRate12Mbps(), GetOfdmRate24Mbps()) you specified in the other topic? Are those three the only ones or are there other available legacy rates?

I'm sorry if I was not clear about this before.

Thank you in advance,
Glenn

Sebastien Deronne

unread,
Mar 19, 2015, 9:50:55 AM3/19/15
to ns-3-...@googlegroups.com
Indeed, those legacy rates are supported in 802.11n.
Legacy rates mean rates from older standards (.11a/g)
Those are the mandatory legacy rates, as they are part of the basic rate set for .11a/g.

Mohamad p

unread,
Aug 6, 2016, 3:27:26 AM8/6/16
to ns-3-users
hi gd
please insert your code because i have a problem that maby solve .
Reply all
Reply to author
Forward
0 new messages