src/lte/model/lte-phy.cc
author Marco Miozzo <marco.miozzo@cttc.es>
Mon, 25 Jun 2012 13:41:13 +0200
changeset 9036 5e09b29d4af5
parent 9035 e40974228d94
child 9038 e1d67c8aa95b
permissions -rw-r--r--
Add SRS signaling
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7385
10beb0e53130 standardize emacs c++ mode comments
Vedran Mileti? <rivanvx@gmail.com>
parents: 6852
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     2
/*
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     3
 * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     4
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     8
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    12
 * GNU General Public License for more details.
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    13
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    17
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    18
 * Author: Giuseppe Piro  <g.piro@poliba.it>
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    19
 *         Marco Miozzo <mmiozzo@cttc.es>
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    20
 */
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    21
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    22
#include <ns3/waveform-generator.h>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    23
#include <ns3/object-factory.h>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    24
#include <ns3/log.h>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    25
#include <math.h>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    26
#include <ns3/simulator.h>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    27
#include "ns3/spectrum-error-model.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    28
#include "lte-phy.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    29
#include "lte-net-device.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    30
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    31
NS_LOG_COMPONENT_DEFINE ("LtePhy");
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    32
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    33
namespace ns3 {
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    34
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    35
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    36
NS_OBJECT_ENSURE_REGISTERED (LtePhy);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    37
9036
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
    38
7980
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    39
LtePhy::LtePhy ()
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    40
{
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    41
  NS_LOG_FUNCTION (this);
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    42
  NS_FATAL_ERROR ("This constructor should not be called");
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    43
}
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    44
7980
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    45
LtePhy::LtePhy (Ptr<LteSpectrumPhy> dlPhy, Ptr<LteSpectrumPhy> ulPhy)
7981
aacecd825d99 noise figure attribute
Nicola Baldo <nbaldo@cttc.es>
parents: 7980
diff changeset
    46
  : m_downlinkSpectrumPhy (dlPhy),
7980
f07d99163a56 LteSpectrumPhy instances now plugged onto LtePhy via its constructor
Nicola Baldo <nbaldo@cttc.es>
parents: 7949
diff changeset
    47
    m_uplinkSpectrumPhy (ulPhy),
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    48
    m_tti (0.001),
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    49
    m_ulBandwidth (0),
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    50
    m_dlBandwidth (0),
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    51
    m_rbgSize (0),
9036
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
    52
    m_macChTtiDelay (0),
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
    53
    m_cellId (0)
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    54
{
7929
6861206ea815 minor fixes
Nicola Baldo <nbaldo@cttc.es>
parents: 7928
diff changeset
    55
  NS_LOG_FUNCTION (this);
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    56
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    57
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    58
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    59
TypeId
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    60
LtePhy::GetTypeId (void)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    61
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    62
  static TypeId tid = TypeId ("ns3::LtePhy")
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    63
    .SetParent<Object> ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    64
  ;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    65
  return tid;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    66
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    67
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    68
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    69
LtePhy::~LtePhy ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    70
{
7929
6861206ea815 minor fixes
Nicola Baldo <nbaldo@cttc.es>
parents: 7928
diff changeset
    71
  NS_LOG_FUNCTION (this);
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    72
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    73
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    74
void
6710
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    75
LtePhy::DoDispose ()
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    76
{
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    77
  NS_LOG_FUNCTION (this);
7921
0a504caf445d added more disposal stuff
Nicola Baldo <nbaldo@cttc.es>
parents: 7913
diff changeset
    78
  m_packetBurstQueue.clear ();
0a504caf445d added more disposal stuff
Nicola Baldo <nbaldo@cttc.es>
parents: 7913
diff changeset
    79
  m_controlMessagesQueue.clear ();
0a504caf445d added more disposal stuff
Nicola Baldo <nbaldo@cttc.es>
parents: 7913
diff changeset
    80
  m_downlinkSpectrumPhy->Dispose ();
6710
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    81
  m_downlinkSpectrumPhy = 0;
7921
0a504caf445d added more disposal stuff
Nicola Baldo <nbaldo@cttc.es>
parents: 7913
diff changeset
    82
  m_uplinkSpectrumPhy->Dispose ();
6710
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    83
  m_uplinkSpectrumPhy = 0;
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    84
  m_netDevice = 0;
7913
ed3a9f8a76d7 added DoDispose to lte-phy and lte-spectrum-phy
Nicola Baldo <nbaldo@cttc.es>
parents: 7911
diff changeset
    85
  Object::DoDispose ();
6710
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    86
}
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    87
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    88
void
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    89
LtePhy::SetDevice (Ptr<LteNetDevice> d)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    90
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    91
  NS_LOG_FUNCTION (this << d);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    92
  m_netDevice = d;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    93
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    94
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    95
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    96
Ptr<LteNetDevice>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    97
LtePhy::GetDevice ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    98
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    99
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   100
  return m_netDevice;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   101
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   102
8064
026861f85f53 added SNR test to lte-test-link-adaptation & updated it with new tx psd & noise values
Nicola Baldo <nbaldo@cttc.es>
parents: 8015
diff changeset
   103
Ptr<LteSpectrumPhy> 
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   104
LtePhy::GetDownlinkSpectrumPhy ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   105
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   106
  return m_downlinkSpectrumPhy;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   107
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   108
8064
026861f85f53 added SNR test to lte-test-link-adaptation & updated it with new tx psd & noise values
Nicola Baldo <nbaldo@cttc.es>
parents: 8015
diff changeset
   109
Ptr<LteSpectrumPhy> 
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   110
LtePhy::GetUplinkSpectrumPhy ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   111
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   112
  return m_uplinkSpectrumPhy;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   113
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   114
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   115
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   116
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   117
LtePhy::SetDownlinkChannel (Ptr<SpectrumChannel> c)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   118
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   119
  NS_LOG_FUNCTION (this << c);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   120
  m_downlinkSpectrumPhy->SetChannel (c);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   121
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   122
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   123
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   124
LtePhy::SetUplinkChannel (Ptr<SpectrumChannel> c)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   125
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   126
  NS_LOG_FUNCTION (this << c);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   127
  m_uplinkSpectrumPhy->SetChannel (c);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   128
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   129
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   130
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   131
LtePhy::SetDownlinkSubChannels (std::vector<int> mask )
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   132
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   133
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   134
  m_listOfDownlinkSubchannel = mask;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   135
  DoSetDownlinkSubChannels ();
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   136
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   137
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   138
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   139
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   140
LtePhy::DoSetDownlinkSubChannels ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   141
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   142
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   143
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   144
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   145
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   146
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   147
LtePhy::SetUplinkSubChannels (std::vector<int> mask )
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   148
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   149
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   150
  m_listOfUplinkSubchannel = mask;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   151
  DoSetUplinkSubChannels ();
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   152
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   153
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   154
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   155
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   156
LtePhy::DoSetUplinkSubChannels ()
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   157
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   158
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   159
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   160
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   161
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   162
std::vector<int>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   163
LtePhy::GetDownlinkSubChannels (void)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   164
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   165
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   166
  return m_listOfDownlinkSubchannel;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   167
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   168
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   169
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   170
std::vector<int>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   171
LtePhy::GetUplinkSubChannels (void)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   172
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   173
  NS_LOG_FUNCTION (this);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   174
  return m_listOfUplinkSubchannel;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   175
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   176
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   177
void
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   178
LtePhy::SetTti (double tti)
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   179
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   180
  NS_LOG_FUNCTION (this << tti);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   181
  m_tti = tti;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   182
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   183
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   184
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   185
double
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   186
LtePhy::GetTti (void) const
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   187
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   188
  NS_LOG_FUNCTION (this << m_tti);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   189
  return m_tti;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   190
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   191
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   192
void
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   193
LtePhy::DoSetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth)
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   194
{
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   195
  m_ulBandwidth = ulBandwidth;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   196
  m_dlBandwidth = dlBandwidth;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   197
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   198
  int Type0AllocationRbg[4] = {
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   199
    10,     // RGB size 1
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   200
    26,     // RGB size 2
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   201
    63,     // RGB size 3
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   202
    110     // RGB size 4
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   203
  };  // see table 7.1.6.1-1 of 36.213
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   204
  for (int i = 0; i < 4; i++)
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   205
    {
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   206
      if (dlBandwidth < Type0AllocationRbg[i])
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   207
        {
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   208
          m_rbgSize = i + 1;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   209
          break;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   210
        }
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   211
    }
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   212
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   213
9036
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   214
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   215
uint16_t
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   216
LtePhy::GetSrsPeriodicity (uint16_t srsCI) const
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   217
{
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   218
  // from 3GPP TS 36.213 table 8.2-1 UE Specific SRS Periodicity
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   219
  uint16_t SrsPeriodicity[9] = {0, 2, 5, 10, 20, 40, 80, 160, 320};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   220
  uint16_t SrsCiLow[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   221
  uint16_t SrsCiHigh[9] = {0, 1, 6, 16, 36, 76, 156, 316, 636};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   222
  uint8_t i;
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   223
  for (i = 8; i > 0; i --)
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   224
    {
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   225
      if ((srsCI>=SrsCiLow[i])&&(srsCI<=SrsCiHigh[i]))
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   226
        {
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   227
          break;
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   228
        }
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   229
    }
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   230
  return SrsPeriodicity[i];
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   231
}
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   232
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   233
uint16_t
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   234
LtePhy::GetSrsSubframeOffset (uint16_t srsCI) const
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   235
{
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   236
  // from 3GPP TS 36.213 table 8.2-1 UE Specific SRS Periodicity
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   237
  uint16_t SrsSubframeOffset[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   238
  uint16_t SrsCiLow[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   239
  uint16_t SrsCiHigh[9] = {0, 1, 6, 16, 36, 76, 156, 316, 636};
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   240
  uint8_t i;
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   241
  for (i = 8; i > 0; i --)
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   242
    {
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   243
      if ((srsCI>=SrsCiLow[i])&&(srsCI<=SrsCiHigh[i]))
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   244
        {
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   245
          break;
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   246
        }
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   247
    }
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   248
  return (srsCI - SrsSubframeOffset[i]);
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   249
}
5e09b29d4af5 Add SRS signaling
Marco Miozzo <marco.miozzo@cttc.es>
parents: 9035
diff changeset
   250
8015
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7981
diff changeset
   251
void 
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7981
diff changeset
   252
LtePhy::DoSetEarfcn (uint16_t dlEarfcn, uint16_t ulEarfcn)
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7981
diff changeset
   253
{
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   254
  m_dlEarfcn = dlEarfcn;
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   255
  m_ulEarfcn = ulEarfcn;
8015
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7981
diff changeset
   256
}
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   257
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   258
uint8_t
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   259
LtePhy::GetRbgSize (void) const
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   260
{
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   261
  return m_rbgSize;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   262
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   263
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   264
void
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   265
LtePhy::SetMacPdu (Ptr<Packet> p)
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   266
{
8728
5a99218bfd1b Bug-fix on m_macChTtiDelay management on UE-eNB PHY and consequently update RR-PF schedulers and tests
mmiozzo
parents: 8670
diff changeset
   267
  m_packetBurstQueue.at (m_packetBurstQueue.size () - 1)->AddPacket (p);
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   268
}
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   269
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   270
Ptr<PacketBurst>
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   271
LtePhy::GetPacketBurst (void)
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   272
{
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   273
  if (m_packetBurstQueue.at (0)->GetSize () > 0)
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   274
    {
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   275
      Ptr<PacketBurst> ret = m_packetBurstQueue.at (0)->Copy ();
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   276
      m_packetBurstQueue.erase (m_packetBurstQueue.begin ());
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   277
      m_packetBurstQueue.push_back (CreateObject <PacketBurst> ());
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   278
      return (ret);
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   279
    }
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   280
  else
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   281
    {
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   282
      m_packetBurstQueue.erase (m_packetBurstQueue.begin ());
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   283
      m_packetBurstQueue.push_back (CreateObject <PacketBurst> ());
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   284
      return (0);
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   285
    }
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   286
}
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   287
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   288
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   289
void
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   290
LtePhy::SetControlMessages (Ptr<LteControlMessage> m)
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   291
{
8728
5a99218bfd1b Bug-fix on m_macChTtiDelay management on UE-eNB PHY and consequently update RR-PF schedulers and tests
mmiozzo
parents: 8670
diff changeset
   292
  // In uplink the queue of control messages and packet are of different sizes
5a99218bfd1b Bug-fix on m_macChTtiDelay management on UE-eNB PHY and consequently update RR-PF schedulers and tests
mmiozzo
parents: 8670
diff changeset
   293
  // for avoiding TTI cancellation due to synchronization of subframe triggers
5a99218bfd1b Bug-fix on m_macChTtiDelay management on UE-eNB PHY and consequently update RR-PF schedulers and tests
mmiozzo
parents: 8670
diff changeset
   294
  m_controlMessagesQueue.at (m_controlMessagesQueue.size () - 1).push_back (m);
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   295
}
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   296
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   297
std::list<Ptr<LteControlMessage> >
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   298
LtePhy::GetControlMessages (void)
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   299
{
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   300
  if (m_controlMessagesQueue.at (0).size () > 0)
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   301
    {
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   302
      std::list<Ptr<LteControlMessage> > ret = m_controlMessagesQueue.at (0);
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   303
      m_controlMessagesQueue.erase (m_controlMessagesQueue.begin ());
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   304
      std::list<Ptr<LteControlMessage> > newlist;
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   305
      m_controlMessagesQueue.push_back (newlist);
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   306
      return (ret);
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   307
    }
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   308
  else
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   309
    {
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   310
      m_controlMessagesQueue.erase (m_controlMessagesQueue.begin ());
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   311
      std::list<Ptr<LteControlMessage> > newlist;
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   312
      m_controlMessagesQueue.push_back (newlist);
9035
e40974228d94 Update Phy Layer for managing different frames for different set of channels (data vs. ctrl and srs)
Marco Miozzo <marco.miozzo@cttc.es>
parents: 8729
diff changeset
   313
      std::list<Ptr<LteControlMessage> > emptylist;
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   314
      return (emptylist);
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8064
diff changeset
   315
    }
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   316
}
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   317
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   318
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   319
void
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   320
LtePhy::DoSetCellId (uint16_t cellId)
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   321
{
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   322
  m_cellId = cellId;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   323
  m_downlinkSpectrumPhy->SetCellId (cellId);
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   324
  m_uplinkSpectrumPhy->SetCellId (cellId);
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   325
}
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   326
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   327
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   328
} // namespace ns3