多天线:
如果你想在ns3中使能多天线,你就在用phyhelper生成phy之后,添加如下的代码段,就可以使能双天线了,因此吞吐测试会得到很大提升
//双天线
phy.Set ("Antennas", UintegerValue (2));
phy.Set ("MaxSupportedTxSpatialStreams", UintegerValue (2));
phy.Set ("MaxSupportedRxSpatialStreams", UintegerValue (2));
如果开了双天线:
如果没开双天线:
信道设置
这里的信道不是channel,是中心频率那个信道,36信道就是5180那个信道:
YansWifiChannelHelper channel;
channel.AddPropagationLoss ("ns3::FriisPropagationLossModel",
"Frequency", DoubleValue (frequency * 1e6));
channel.SetPropagationDelay ("ns3::ConstantSpeedPropagationDelayModel");
phy.SetChannel (channel.Create ());
phy.Set ("Frequency", UintegerValue (frequency));
frequency,设置成5180或者2412之类的就可以了 。
以下凑字数,是从zhi呼抄过来的。
使用NS-3进行网络仿真时,一般经过以下4个步骤:
- 选择或开发相应模块
- 是有线局域网(CSMA)还是无线局域网(Wi-Fi)
- 节点是否需要移动(mobility)
- 用什么应用程序(application)
- 是否需要能量管理
- 使用什么路由协议(internet,aodv等)
- 如果没有模块支持,就需要设计开发自己的网络仿真模块
- 编写网络仿真脚本(C++/Python)
编写ns-3仿真脚本的大致过程:
- 生成节点
- 安装网络设备:不同网络类型有不同的网络设备,从而提供不同的信道、物理层和MAC层,如CSMA、Wi-Fi、WiMAX和point-to-point等
- 安装协议栈:一般是TCP、IP协议栈,如是UDP还是TCP,选择那种路由协议(OLSR、AODV和Global等)并为其匹配相应IP地址。
- 其他配置:如节点是否需要移动,是否需要能量管理等。
- 启动仿真
注:
- CSMA(CsmaChannel)信道模拟了一个可以用于实现载波侦听多路访问通信子网中的媒介,这个信道具有和以太网相似的功能。
- PointToPointChannel这个类地表一个简单的点对点信道,此通道上没有多点通信能力,可以有最多2个点指点链接的网络设备。
- Wi-FiChannel此无线信道实现描述为:”又一网络模型“传播模型