21 #include "ns3/simulator.h"
25 #include "ns3/spectrum-test.h"
27 #include "ns3/lte-phy-tag.h"
28 #include "ns3/lte-sinr-chunk-processor.h"
29 #include "ns3/lte-spectrum-signal-parameters.h"
67 sm = Create<SpectrumModel> (bands);
73 (*rxPsd1)[0] = 1.255943215755e-15;
78 (*rxPsd2)[1] = 7.204059965732e-16;
81 (*theoreticalSinr1)[0] = 3.72589167251055;
82 (*theoreticalSinr1)[1] = 3.72255684126076;
90 (*rxPsd3)[0] = 2.505936168136e-17;
95 (*rxPsd4)[1] = 3.610582885110e-17;
98 (*theoreticalSinr2)[0] = 0.0743413124381667;
99 (*theoreticalSinr2)[1] = 0.1865697965291756;
113 :
TestCase (
"SINR calculation in uplink: " + name),
116 m_sm (sv1->GetSpectrumModel ()),
136 ulPhy->SetCellId (100);
139 ulPhy->AddSinrChunkProcessor (chunkProcessor);
149 int numOfDataPbs = 2;
150 int numOfIntfPbs = 4;
151 int numOfPbs = numOfDataPbs + numOfIntfPbs;
170 for (
int dataPb = 0 ; dataPb < numOfDataPbs ; dataPb++, pb++ )
173 packetBursts[pb] = CreateObject<PacketBurst> ();
176 for (
int i = 0 ; i < numOfPkts ; i++ )
178 pkt[pb][i] = Create<Packet> (1000);
188 packetBursts[pb]->
AddPacket ( pkt[pb][i] );
191 for (
int intfPb = 0 ; intfPb < numOfIntfPbs ; intfPb++, pb++ )
194 packetBursts[pb] = CreateObject<PacketBurst> ();
197 for (
int i = 0 ; i < numOfPkts ; i++ )
199 pkt[pb][i] = Create<Packet> (1000);
209 packetBursts[pb]->
AddPacket ( pkt[pb][i] );
220 (*noisePsd)[0] = 5.000000000000e-19;
221 (*noisePsd)[1] = 4.545454545455e-19;
223 (*i1)[0] = 5.000000000000e-18;
224 (*i2)[0] = 5.000000000000e-16;
225 (*i3)[0] = 1.581138830084e-16;
226 (*i4)[0] = 7.924465962306e-17;
227 (*i1)[1] = 1.437398936440e-18;
228 (*i2)[1] = 5.722388235428e-16;
229 (*i3)[1] = 7.204059965732e-17;
230 (*i4)[1] = 5.722388235428e-17;
243 ulPhy->SetNoisePowerSpectralDensity (noisePsd);
254 sp1->packetBurst = packetBursts[0];
261 sp2->packetBurst = packetBursts[1];
269 ip1->packetBurst = packetBursts[2];
276 ip2->packetBurst = packetBursts[3];
283 ip3->packetBurst = packetBursts[4];
290 ip4->packetBurst = packetBursts[5];
303 NS_LOG_INFO (
"Calculated SINR: " << calculatedSinr);