looks good to me. If you have commit powers, I think that you can push
it yourself. Otherwise, let me know and I will do this myself.
> Hi,
>
> Thank you for your comments. Please find the new patch modified
> accordingly to your suggestions. Now, WifiMacHelpers remain the same
> way as in ns-3-dev. I have also added the Configure80211b method to
> configure MAC parameters. However, I would like someone to review the
> parameters, since I am not very familiar with the 802.11b
> specification. As Std 802.11-2007 states (page 654), I have
> considered:
>
> - SlotTime = 20us
> - SIFS = 10us
>
> Ramon.
>
> 2009/7/13 Mathieu Lacage <
mathieu.lacage@...>
> hi,
>
> The patch overall looks good. A couple of comments:
>
> 1) it feels like you could move the WifiMacHelper::Configure*
> methods to
> the WifiMac base class (that way, you could access
> WifiMac::GetDefaultMaxPropagationDelay directly)
> 2) maybe you could add a Standard attribute to WifiMac which
> is similar
> to the YansWifiPhy::Standard attribute and does the same thing
> as
> YansWifiPhy::SetStandard
> 3) maybe also add a Configure80211a and Configure80211b to
> WifiMac. Erm,
> I just realized that we currently have no set of 802.11b MAC
> parameters
> for the 802.11b PHY contributed by gary. If you can't bother
> with
> finding the right values in the spec, just add an empty
> Configure80211b
> method and we will fill them in later.
>
> Mathieu
>
>
>
>
> On Thu, 2009-07-09 at 19:23 +0200, Ramon Bauza wrote:
> > Hello,
> >
> > I would like to submit for code review the attached patch
> implementing half
> > and quarter-clocked Wifi operation using 5 and 10 Mhz
> channels spacing. We
> > would be glad to merge this new functionality in the main
> branch if ns-3
> > developers think it may be interesting for other people. The
> following files
> > have been modified (ns-3-dev):
> >
> > src/devices/wifi/interference-helper.cc
> > src/devices/wifi/interference-helper.h
> > src/devices/wifi/wifi-phy.cc
> > src/devices/wifi/wifi-phy.h
> > src/devices/wifi/wifi-phy-standard.h
> > src/devices/wifi/yans-error-rate-model.cc
> > src/devices/wifi/yans-wifi-phy.cc
> > src/devices/wifi/yans-wifi-phy.h
> > src/helper/nqos-wifi-mac-helper.cc
> > src/helper/nqos-wifi-mac-helper.h
> > src/helper/qos-wifi-mac-helper.cc
> > src/helper/qos-wifi-mac-helper.h
> > src/helper/wifi-helper.cc
> > src/helper/wifi-helper.h
> >
> > Apart from the modifications pointed out in the previous
> email posted some
> > weeks ago, we have also modified some of the wifi helpers.
> In order not to
> > make the user set weird values for the MAC parameters
> (slot,sifs, etc) from
> > the script, we have modified the WifiMacHelper incorporating
> two new
> > functions (Configure80211_10MhzParameters and
> Configure80211_5MhzParameters)
> > that allows the user to automatically select the default MAC
> parameters for
> > 5Mhz and 10Mhz channel spacing (we have also moved the
> function SetType and
> > the ObjectFactory m_mac from NqosWifiMacHelper and
> QosWifiMacHelper to
> > WifiMacHelper).
> >
> > Looking forward to your comments.
> >
> > Best regards,
> > Ramon Bauza.
> >
> > 2009/5/29 Ramon Bauza <
monbauza@...>
> >
> > > Hello everyone,
> > >
> > > I am Ramon Bauza, a researcher at Miguel Hernandez
> University (Spain).
> > > Currently, I am involved in the EU FP7 project iTETRIS
> which aims at
> > > creating an integrated traffic and wireless simulation
> platform that will
> > > allow evaluating traffic management strategies and
> communication protocols
> > > in vehicular environments. The iTETRIS project employs
> SUMO and ns-3 as
> > > traffic simulation and wireless simulation platforms
> respectively.
> > >
> > > Our research group at UMH, it is charge of implementing
> the 802.11p (WAVE)
> > > standard in ns-3. 802.11p is based on 802.11a, being the
> channel bandwidth
> > > and thus also the data rates the main differences between
> both (802.11p uses
> > > a 10Mhz whereas 802.11a uses 20Mhz). After implementing
> 802.11p in ns-3, we
> > > will also look into and implement propagation models for
> vehicular
> > > environments that consider LOS/NLOS visibility conditions,
> > > vehicle-to-vehicle and vehicle-to-infraestructure
> communications, and
> > > shadowing and multipath fading effects.
> > >
> > > In order to model a 10Mhz channel in ns-3, some
> additions/modifications
> > > should be done (some weeks ago I posted a message in the
> user mailing list
> > > regarding this
> > >
>
http://groups.google.com/group/ns-3-users/browse_thread/thread/f27b1ddcf9f1d532#).
> > > Apart from 802.11p, I think other 802.11 standards employ
> 10MHz channels and
> > > thus probably the modeling of 10Mhz channels would also be
> useful for the
> > > ns-3 community working on 802.11-related topics. In fact,
> the IEEE Std
> > > 802.11TM-2007 standard considers 10Mhz channel spacing
> using OFDM. If you
> > > consider that the modeling of 10Mhz channels may be
> beneficial for other
> > > users we would be glad to merge the 10Mhz modeling in the
> main branch.
> > >
> > > Below, I compile the needed functions and modifications we
> plan to
> > > introduce in ns-3 at the PHY layer for modeling a 10Mhz
> channel:
> > >
> > > + wifi-phy-standard.h
> > >
> > > Add WIFI_PHY_STANDARD_80211_10Mhz in the enum
> WifiPhyStandard
> > >
> > > + wifi-phy.h and wifi-phy.cc
> > >
> > > Declare and define the following new functions:
> > >
> > > static WifiMode Get3mb10Mhz (void);
> > > static WifiMode Get4_5mb10Mhz (void);
> > > static WifiMode Get6mb10Mhz (void);
> > > static WifiMode Get9mb10Mhz (void);
> > > static WifiMode Get12mb10Mhz (void);
> > > static WifiMode Get18mb10Mhz (void);
> > > static WifiMode Get24mb10Mhz (void);
> > > static WifiMode Get27mb10Mhz (void);
> > >
> > > + yans-wifi-phy.h and yans-wifi-phy.cc
> > >
> > > Declare and define the void Configure80211_10Mhz (void)
> function.
> > > Modify the void SetStandard (enum WifiPhyStandard
> standard) function so
> > > that the user can also select a 10Mhz channel.
> > >
> > > + interference-helper.h and interference-helper.cc
> > >
> > > Declare and define void Configure80211_10MhzParameters
> (void);
> > >
> > > One function that should be modified is
> > > InterferenceHelper::CalculateTxDuration (uint32_t size,
> WifiMode
> > > payloadMode, WifiPreamble preamble) const since it assumes
> that the symbol
> > > duration is always 4us (20 Mhz channel). This function
> should employ a
> > > symbol duration according to the channel used (10Mhz or
> 20Mhz). One possible
> > > solution to solve this would be to have a new variable in
> the class
> > > InterferenceHelper which allows differentiating the
> channel used. This
> > > variable could be of type WifiPhyStandard. In the function
> Time
> > > InterferenceHelper::CalculateTxDuration, this new variable
> would be examined
> > > and the packet txon duration will be calculated based on
> the bandwidth
> > > channel.
> > >
> > > Please, I would like to have your comments on this in
> order to proceed with
> > > the implementation.
> > >
> > > Thank you in advance.
> > > Best regards,
> > > Ramon.
> > >
> > >
> --------------------------------------------------------------------------
> > > Ramon Bauza
> > > Ubiquitous Wireless Communications Research Laboratory
> > > Uwicore,
http://www.uwicore.umh.es> > > Signal Theory and Communications Division
> > > University Miguel Hernández (Spain)
> > > Tel: +34 96522 2031
> > > Fax: +34 96665 8903
> > >
> > >
> ----------------------------------------------------------------------------
> > >
>
>
>
>
>
> --
> --------------------------------------------------------------------------
> Ramon Bauza
> Ubiquitous Wireless Communications Research Laboratory
> Uwicore,
http://www.uwicore.umh.es
> Signal Theory and Communications Division
> University Miguel Hernández (Spain)
> Tel: +34 96522 2031
> Fax: +34 96665 8903
> ----------------------------------------------------------------------------