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

📄 phypdu.h

📁 This documentation is based on the following versions:- pre-release of the wimax model developed by
💻 H
字号:
/* This software was developed at the National Institute of Standards and * Technology by employees of the Federal Government in the course of * their official duties. Pursuant to title 17 Section 105 of the United * States Code this software is not subject to copyright protection and * is in the public domain. * NIST assumes no responsibility whatsoever for its use by other parties, * and makes no guarantees, expressed or implied, about its quality, * reliability, or any other characteristic. * <BR> * We would appreciate acknowledgement if the software is used. * <BR> * NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND * DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING * FROM THE USE OF THIS SOFTWARE. * </PRE></P> * @author  rouil */#ifndef PHYPDU_H#define PHYPDU_H#include "burst.h"#include "dlburst.h"#include "ulburst.h"class FrameMap;class PhyPdu;LIST_HEAD (phyPdu, PhyPdu);/** * This class describte the content of a Phy PDU */class PhyPdu{	 public:  /**   * Create a phy pdu with the given preamble size   * @param preamble The preamble size in OFDM symbols   */  PhyPdu (FrameMap *map, int preamble);  /**   * Delete the object   */  virtual ~PhyPdu ();  /**   * Return the preamble size for the PDU in unit of OFDM symbols   * @return the preamble size for the PDU   */  int getPreamble( );  /**   * Set the preamble size for the PDU in unit of OFDM symbols   * @param preamble the preamble size for the PDU   */  void setPreamble( int preamble );    /**   * Create and return a burst in the PDU   * @param pos The position of the burst   * @return The burst created   */  virtual Burst * addBurst(int pos);  /**   * Remove a burst in the PDU   * @param burst The burst to remove   */  void removeBurst(Burst *b);  /**   * Return the burst located at the given index   * @param pos The position of the burst   */  Burst* getBurst(int pos);  /**   * Return the number of burst in the PhyPDU   */  inline int getNbBurst () { return nb_burst_; }  /**   * Return the FrameMap    */  inline FrameMap * getMap() { return map_; }  // Chain element to the list  inline void insert_entry_head(struct phyPdu *head) {    LIST_INSERT_HEAD(head, this, link);  }    // Chain element to the list  inline void insert_entry(PhyPdu *elem) {    LIST_INSERT_AFTER(elem, this, link);  }    // Return next element in the chained list  PhyPdu* next_entry(void) const { return link.le_next; }  // Remove the entry from the list  inline void remove_entry() {     LIST_REMOVE(this, link);   } protected:  /*   * Pointer to next in the list   */  LIST_ENTRY(PhyPdu) link;  //LIST_ENTRY(PhyPdu); //for magic draw  /**   * Curent number of bursts   */  int nb_burst_;  /**   * The list of burst contained in this PDU.   * For uplink Phy PDU, only one burst is allowed   */  struct burst burst_list_; private:  /**   * Size of the preamble in units of OFDM symbols   */  int preamble_;    /**   * The frame map   */  FrameMap *map_;	};/** * Define subclass for downlink phy pdu */class DlPhyPdu: public PhyPdu{	 public:  /**   * Create a phy pdu with the given preamble size   * @param preamble The preamble size in OFDM symbols   */  DlPhyPdu (FrameMap *map, int preamble);  /**   * Create and return a burst in the PDU   * @param pos The position of the burst   * @return The burst created   */  virtual Burst * addBurst(int pos);};/** * Define subclass for uplink phy pdu */class UlPhyPdu: public PhyPdu{	 public:  /**   * Create a phy pdu with the given preamble size   * @param preamble The preamble size in OFDM symbols   */  UlPhyPdu (FrameMap *map, int preamble);  /**   * Create and return a burst in the PDU   * @param pos The position of the burst   * @return The burst created   */  virtual Burst * addBurst(int pos);};#endif

⌨️ 快捷键说明

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