ns-3聚合第一讲

这篇博客主要探讨ns-3中的propagation模块,详细分析了propagation-loss-model.h文件及RangePropagationLossModel中的关键函数实现。同时,讲解了mobility模块,特别是mobility-model.h作为移动模型基类的功能,以及在mobility-model.cc中的重要函数实现。
摘要由CSDN通过智能技术生成

propagation模块

ns-3 木块中有propagation模块,其model中有propagation-loss-model.cc以及propagation-loss-model.h文件。

模型propagation-loss-model.h

class PropagationLossModel : public Object
    {
    public:
        static TypeId GetTypeId (void);
        PropagationLossModel ();
        virtual ~PropagationLossModel ();
        void SetNext (Ptr<PropagationLossModel> next);
        Ptr<PropagationLossModel> GetNext ();
        //该函数返回接收功率(dBm),将所有的PropagatinLossModel(s)考虑到;
        //a为源的移动模型,b为目的移动模型;
        double CalcRxPower (double txPowerDbm,
                             Ptr<MobilityModel> a,
                             Ptr<MobilityModel> b) const;
        int64_t AssignStreams (int64_t stream);
    private:
     PropagationLossModel (const PropagationLossModel &);
       PropagationLossModel &operator = (const PropagationLossModel &);
        //返回接收功率(dBm)仅考虑特定的propagatinlossmodel;
        //a为源的移动模型,b为目的移动模型;
        //该基类中的纯虚函数,在子类中实现;
       virtual double DoCalcRxPower (double txPowerDbm,
                                   Ptr<MobilityModel> a,
                                   Ptr<MobilityModel> b) const = 0;
      virtual int64_t DoAssignStreams (int64_t stream) = 0;
      Ptr<PropagationLossModel> m_next; 
  };

选择其中一个派生类RangePropagationLossModel来进行深入分析

class RangePropagationLossModel:public PropagationLossModel
{
public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值