A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lte-sinr-chunk-processor.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009, 2010 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Nicola Baldo <nbaldo@cttc.es>
19  * Modified by : Marco Miozzo <mmiozzo@cttc.es>
20  * (move from CQI to Ctrl and Data SINR Chunk processors)
21  */
22 
23 
24 #ifndef LTE_SINR_CHUNK_PROCESSOR_H
25 #define LTE_SINR_CHUNK_PROCESSOR_H
26 
27 #include <ns3/spectrum-value.h>
28 #include <ns3/ptr.h>
29 #include <ns3/packet.h>
30 #include <ns3/nstime.h>
31 #include <ns3/object.h>
32 #include <ns3/lte-phy.h>
33 #include <ns3/lte-spectrum-phy.h>
34 
35 namespace ns3 {
36 
37 
38 
45 class LteSinrChunkProcessor : public SimpleRefCount<LteSinrChunkProcessor>
46 {
47 public:
48  virtual ~LteSinrChunkProcessor ();
49  virtual void Start () = 0;
50  virtual void EvaluateSinrChunk (const SpectrumValue& sinr, Time duration) = 0;
51  virtual void End () = 0;
52 };
53 
54 
55 
56 
65 {
66 public:
67  virtual ~LteCtrlSinrChunkProcessor ();
70  virtual void Start ();
71  virtual void EvaluateSinrChunk (const SpectrumValue& sinr, Time duration);
72  virtual void End ();
73 private:
78 };
79 
80 
81 
90 {
91  public:
92  virtual ~LteDataSinrChunkProcessor ();
95  virtual void Start ();
96  virtual void EvaluateSinrChunk (const SpectrumValue& sinr, Time duration);
97  virtual void End ();
98  private:
103 };
104 
105 
113 {
114  public:
117  virtual void Start ();
118  virtual void EvaluateSinrChunk (const SpectrumValue& sinr, Time duration);
119  virtual void End ();
120  private:
124 };
125 
126 
127 
128 
137 {
138  public:
141  virtual void Start ();
142  virtual void EvaluateSinrChunk (const SpectrumValue& sinr, Time duration);
143  virtual void End ();
144  private:
148 };
149 
150 
151 
152 
153 
154 } // namespace ns3
155 
156 
157 
158 #endif /* LTE_SINR_PROCESSOR_H */
keep track of time values and allow control of global simulation resolution
Definition: nstime.h:81
smart pointer class similar to boost::intrusive_ptr
Definition: ptr.h:59
virtual void Start()=0
virtual void EvaluateSinrChunk(const SpectrumValue &sinr, Time duration)
virtual void EvaluateSinrChunk(const SpectrumValue &sinr, Time duration)=0
This abstract class is used to process the time-vs-frequency SINR chunk of a received LTE signal whic...
The LteDataSinrChunkProcessor averages the calculated SINR over time for data frame and therefore in ...
virtual void EvaluateSinrChunk(const SpectrumValue &sinr, Time duration)
Ptr< SampleEmitter > s
The LteRsReceivedPowerChunkProcessor averages the received signal power over time for data frame and ...
The LteCtrlSinrChunkProcessor averages the calculated SINR over time for the Ctrl frame and therefore...
virtual void EvaluateSinrChunk(const SpectrumValue &sinr, Time duration)
LteDataSinrChunkProcessor(Ptr< LteSpectrumPhy > p)
virtual void EvaluateSinrChunk(const SpectrumValue &sinr, Time duration)
Set of values corresponding to a given SpectrumModel.
A template-based reference counting class.
The LteInterferencePowerChunkProcessor averages the interference power over time for data frame and t...