Bug 2317 - Get the non-HT reference rate of a HT MCS
Get the non-HT reference rate of a HT MCS
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
pre-release
All All
: P5 enhancement
Assigned To: sebastien.deronne
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-01 05:53 UTC by Matías Richart
Modified: 2016-03-09 16:01 UTC (History)
2 users (show)

See Also:


Attachments
Add GetNonHtReferenceRate (6.01 KB, patch)
2016-03-01 05:53 UTC, Matías Richart
Details | Diff
New patch, returns data rate instead of WifiMode (3.35 KB, patch)
2016-03-07 13:54 UTC, Matías Richart
Details | Diff
New patch, returns data rate instead of WifiMode. Doxygen corrected (3.30 KB, patch)
2016-03-07 16:56 UTC, Matías Richart
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matías Richart 2016-03-01 05:53:38 UTC
Created attachment 2314 [details]
Add GetNonHtReferenceRate

In some situations (like sending an RTS in a non-HT PPDU), converting an HT MCS to a non-HT rate is needed. For this, the standard defines the "reference rates" and offers a table for the conversion.

The patch attached adds a function for this conversion.
Comment 1 sebastien.deronne 2016-03-01 13:37:52 UTC
What about Erp Ofdm?
Comment 2 Matías Richart 2016-03-01 16:58:41 UTC
(In reply to sebastien.deronne from comment #1)
> What about Erp Ofdm?

Hi Sebastien. I don't understand what your are asking about?
Comment 3 sebastien.deronne 2016-03-04 16:39:24 UTC
(In reply to Matías Richart from comment #2)
> (In reply to sebastien.deronne from comment #1)
> > What about Erp Ofdm?
> 
> Hi Sebastien. I don't understand what your are asking about?

Your change is ok for 5GHz channel, but not for 802.11n operating at 2.4GHz.

I.e. "OfdmRate6Mbps" refers to 802.11a, but you should consider "ErpOfdmRate6Mbps" which refers to 802.11g.
Comment 4 Matías Richart 2016-03-07 05:49:24 UTC
(In reply to sebastien.deronne from comment #3)
> (In reply to Matías Richart from comment #2)
> > (In reply to sebastien.deronne from comment #1)
> > > What about Erp Ofdm?
> > 
> > Hi Sebastien. I don't understand what your are asking about?
> 
> Your change is ok for 5GHz channel, but not for 802.11n operating at 2.4GHz.
> 
> I.e. "OfdmRate6Mbps" refers to 802.11a, but you should consider
> "ErpOfdmRate6Mbps" which refers to 802.11g.

Ok, I understand.

I check the standard and the reference rate is always used to compare data rates. For example, "selecting a rate from the basicRateSet which is less or equal to the non-HT reference rate".
Then, what do you think of returning an integer with the data rate instead of the WifiMode?
So as to avoid asking for the frequency.
Comment 5 sebastien.deronne 2016-03-07 07:46:21 UTC
(In reply to Matías Richart from comment #4)
> (In reply to sebastien.deronne from comment #3)
> > (In reply to Matías Richart from comment #2)
> > > (In reply to sebastien.deronne from comment #1)
> > > > What about Erp Ofdm?
> > > 
> > > Hi Sebastien. I don't understand what your are asking about?
> > 
> > Your change is ok for 5GHz channel, but not for 802.11n operating at 2.4GHz.
> > 
> > I.e. "OfdmRate6Mbps" refers to 802.11a, but you should consider
> > "ErpOfdmRate6Mbps" which refers to 802.11g.
> 
> Ok, I understand.
> 
> I check the standard and the reference rate is always used to compare data
> rates. For example, "selecting a rate from the basicRateSet which is less or
> equal to the non-HT reference rate".
> Then, what do you think of returning an integer with the data rate instead
> of the WifiMode?
> So as to avoid asking for the frequency.

It actually depends on how it will be used (WifiMode contains more information than a rate), but if the rate looks enough then we can go for it.
Comment 6 Matías Richart 2016-03-07 13:54:31 UTC
Created attachment 2332 [details]
New patch, returns data rate instead of WifiMode
Comment 7 Tom Henderson 2016-03-07 14:56:58 UTC
The Doxygen is not up to date with the code changes.

Does passing the argument 'nss' make any difference?  Could the 'nss' be hardcoded to 1 within this method?
Comment 8 Matías Richart 2016-03-07 16:55:41 UTC
(In reply to Tom Henderson from comment #7)
> The Doxygen is not up to date with the code changes.
> 
> Does passing the argument 'nss' make any difference?  Could the 'nss' be
> hardcoded to 1 within this method?

I need the nss to call WifiMode::GetCodeRate. However, in GetCodeRate the nss is just used for checking in an assert.
A hardcoded value of 1 will not work.
Comment 9 Matías Richart 2016-03-07 16:56:19 UTC
Created attachment 2333 [details]
New patch, returns data rate instead of WifiMode. Doxygen corrected
Comment 10 sebastien.deronne 2016-03-09 16:01:07 UTC
pushed in changeset 12000:d600a963e02e