![]() |
User Manual, Developers Guide and API Documentation |
![]() |
00001 /******************************************************************************* 00002 * This file is part of openWNS (open Wireless Network Simulator) 00003 * _____________________________________________________________________________ 00004 * 00005 * Copyright (C) 2004-2009 00006 * Chair of Communication Networks (ComNets) 00007 * Kopernikusstr. 5, D-52074 Aachen, Germany 00008 * email: info@openwns.org 00009 * www: http://www.openwns.org 00010 * _____________________________________________________________________________ 00011 * 00012 * openWNS is free software; you can redistribute it and/or modify it under the 00013 * terms of the GNU Lesser General Public License version 2 as published by the 00014 * Free Software Foundation; 00015 * 00016 * openWNS is distributed in the hope that it will be useful, but WITHOUT ANY 00017 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 00018 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 00019 * details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public License 00022 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00023 * 00024 ******************************************************************************/ 00025 00026 #ifndef WIMAC_PARAMETER_PHY_HPP 00027 #define WIMAC_PARAMETER_PHY_HPP 00028 00029 #include <ios> 00030 #include <WNS/Singleton.hpp> 00031 #include <WNS/pyconfig/View.hpp> 00032 00033 namespace wimac { 00034 class WiMAC; 00035 } 00036 00037 namespace wimac { namespace parameter { 00041 class PHY 00042 { 00043 public: 00044 00045 double getChannelBandwidth() const { return channelBandwidth; } 00046 double getSymbolDuration() const { return symbolDuration; } 00047 double getFrameDuration() const { return frameDuration; } 00048 int getSymbolsPerFrame() const { return symbolsPerFrame; } 00049 double getTTGDuration() const { return ttg; } 00050 double getRTGDuration() const { return rtg; } 00051 int getDataSubCarrier() const {return dataSubCarrier; } 00052 int getSubCahnnels() const { return subChannels; } 00053 int getSubCarrierPerSubChannel() const { return subCarrierPerSubChannel; } 00054 int getMinimumBitsPerSymbol() const { return minimumBitsPerSymbol; } 00055 00056 int getDLPreamble() const { return dlPreamble; } 00057 int getFrameHead() const { return frameHead; } 00058 00059 int getMapBase() const { return mapBase; } 00060 int getIE() const { return ie; } 00061 00062 private: 00063 void init(const wns::pyconfig::View& config); 00064 00065 double channelBandwidth; 00066 double cyclicPrefix; 00067 double samplingFrequency; 00068 int fftSize; 00069 double subCarrierSpacing; 00070 double usefulSymbolTime; 00071 double guardTime; 00072 double symbolDuration; 00073 double frameDuration; 00074 int symbolsPerFrame; 00075 double ttg; 00076 double rtg; 00077 int guardSubCarrier; 00078 int dcSubCarrier; 00079 int pilotSubCarrier; 00080 int dataSubCarrier; 00081 int subChannels; 00082 int subCarrierPerSubChannel; 00083 int minimumBitsPerSymbol; 00084 int dlPreamble; 00085 int fch; 00086 int frameHead; 00087 int mapBase; 00088 int ie; 00089 00090 friend class wimac::WiMAC; 00091 }; 00092 00093 typedef wns::SingletonHolder<PHY> ThePHY; 00094 } 00095 } 00096 #endif 00097 00098 00099
1.5.5