⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decider80211.h

📁 基于omnet++开发的Mf框架下的802.11协议仿真。
💻 H
字号:
/*************************************************************************** * file:        Decider80211.h * * authors:     David Raguin / Marc Loebbers * * copyright:   (C) 2004 Telecommunication Networks Group (TKN) at *              Technische Universitaet Berlin, Germany. * *              This program is free software; you can redistribute it  *              and/or modify it under the terms of the GNU General Public  *              License as published by the Free Software Foundation; either *              version 2 of the License, or (at your option) any later  *              version. *              For further information see file COPYING  *              in the top level directory *************************************************************************** * part of:     framework implementation developed by tkn * description: decider module for the 802.11 protocol *************************************************************************** * changelog:   $Revision$ *              last modified:   $Date: 2004-08-16 18:18:47 +0200 (Mon, 16 Aug 2004) $ *              by:              $Author: omfw-willkomm $ **************************************************************************/#ifndef  DECIDER_80211_H#define  DECIDER_80211_H#include <omnetpp.h>#include <BasicDecider.h>/** * @brief Decider for the 802.11 modules * * Depending on the minimum of the snr included in the PhySDU this * module computes a bit error probability. The header (1 Mbit/s) is * always modulated with DBQPSK. The PDU is normally modulated either * with DBPSK (1 and 2 Mbit/s) or CCK (5.5 and 11 Mbit/s). CCK is not * easy to model, therefore it is modeled as DQPSK with a 16-QAM for * 5.5 Mbit/s and a 256-QAM for 11 Mbit/s. * * * @ingroup decider  * @author Marc L鯾bers, David Raguin */class Decider80211 : public BasicDecider{  Module_Class_Members(Decider80211, BasicDecider,0);     protected: public:  /** @brief Initialization of the module and some variables*/  virtual void initialize(int);     protected:  /**   * @brief In this function the decision whether a frame is received   * correctly or not is made.   **/  virtual void  handleLowerMsg(AirFrame*, SnrList&);  /**\brief converts a dB value into a normal fraction*/  double dB2fraction(double);  /**\brief computes if packet is ok or has errors*/  bool packetOk(double, int);#ifdef _WIN32	/**	 * @brief Implementation of the error function	 *	 * Unfortunately the windows math library does not provide an 	 * implementation of the error function, so we use an own 	 * implementation (Thanks to Jirka Klaue)	 *	 * @author Jirka Klaue	 **/   double erfc(double);#endif protected:  /**\brief should be set in the omnetpp.ini*/  double bitrate;  /**\brief should be set in the omnetpp.ini; everthing below this     threshold can't be read and is therefor considered as a     collision*/  double snirThreshold;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -