ns3中多信道的选择

@ns3中多信道的选择

信道选择操作

在ns3中,mesh设备支持多信道技术。mesh设备选择特定编号的信道操作如下:

1.	NodeContainer c;  
2.	//NodeCache存储有NodeId、RadioId(接口Id)
3.	NodeCache nodeCache;  
4.	  
5.	uint16_t nodeId = nodeCache.getNodeId();  
6.	Ptr<Node> node =  c.Get(nodeId);  
7.	Ptr<MeshPointDevice> mp = node->GetDevice(0);  //单个节点对应单个设备  
8.	uint16_t radioId = nodeCache.getRadioId();  
9.	Ptr<WifiNetDevice> interface = mp->GetInterface(radioId);  
10.	Ptr<MeshWifiInterfaceMac> mac = interface.GetMac();  
11.	mac.SwitchFrequencyChannel(nodeCache.getChannelId());  

802.11a标准下可用信道的数目

我们可以看到信道的选择是基于channelId的,那么不同channelId对应怎么样的信道呢?我们可以src/wifi/model/wifi-phy.cc找到答案。
在wifi-phy.cc的第53-152行,我们可以看到一个列表,元项包含两个元素,第一个为(channelId,wifi_standard),另一个为(channel_frequency,channel_width)。

根据此表我们可得

Channel_width/MHzChannel_num
107
2042
4014
807
1603
total75

上表标题左侧为信道带宽,右侧为该信道带宽下所拥有的信道数目。

在mesh网络中,我们一般选择WIFI_PHY_STANDARD_80211a作为wifi_standand,该标准在wifi-phy.cc中对应的是WIFI_PHY_STANDARD_UNSPECIFIED。
在wifi-phy.cc中,我们可以查到其配置wifi_standand的代码如下:

1.	void  
2.	WifiPhy::ConfigureDefaultsForStandard (WifiPhyStandard standard)  
3.	{  
4.	  NS_LOG_FUNCTION (this << standard);  
5.	  switch (standard)  
6.	    {  
7.	    case WIFI_PHY_STANDARD_80211a:  
8.	      SetChannelWidth (20);  
9.	      SetFrequency (5180);  
10.	      // Channel number should be aligned by SetFrequency () to 36  
11.	      NS_ASSERT (GetChannelNumber () == 36);  
12.	      break;  
13.	      ...  
14.	     }  
15.	} 

从WIFI_PHY_STANDARD_80211a的配置条件中,我们可知该标准的带宽为20MHz。
最终可知,WIFI_PHY_STANDARD_80211a可用的多信道有42个,如下所示:

1.	uint32_t channel_num_80211a[42] = {  
2.	        1,2,3,4,5,6,7,8,9,10,11,12,13  
3.	        36,40,44,48,52,56,60,64,  
4.	    100,104,108,112,116,120,124,128,132,136,140,144,  
5.	    149,153,157,161,165,169,173,177,181};  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值