Hello everyone,
I’m configuring a onoff traffic source with a 5 Mbps constant rate in downlink, 20MHz (PRB = 100), MCS = 28, TBSize = 9422 bytes and 60 sec. We use UDP sockets:
// Create the On-Off application in the remote node
// This one represents the Video server in the internet
OnOffHelper onoffremoteVideo ("ns3::UdpSocketFactory",
Address (InetSocketAddress (ueAddr[0], dlPort)));
onoffremoteVideo.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]"));
onoffremoteVideo.SetConstantRate(DataRate ("5Mbps"),500); //. PacketSize: 2500-> If we want to avoid IP fragmentation (MTU<1472). Back off IP(20)+UDP(8) header.
serverVideoApps.Add(onoffremoteVideo.Install(remote));
I’m running LTE LENA simulator on ns 3.19 and according to FlowMon the resulting throughput is 5.03473 Mbps which matches the transmission rate defined. When I calculate throughput using PDCP traces I get 662500 Bps = 5,3 Mbps, as it can be seen in the following trace fragment:
start |
end |
nTxPDUs |
TxBytes |
nRxPDUs |
RxBytes |
||||||
2 |
2.25 |
312 |
165360 |
313 |
165890 |
|
|||||
2.25 |
2.5 |
313 |
165890 |
312 |
165360 |
|
|||||
2.5 |
2.75 |
312 |
165360 |
313 |
165890 |
|
|||||
2.75 |
3 |
313 |
165890 |
312 |
165360 |
|
|||||
DlPdcpStats
But when I calculate throughput at MAC level I have 1000 packets/second * 9422 Bytes = 9,422 MBps = 75,376 Mbps, as extracted from the DlMac.
% time cellId IMSI frame sframe RNTI mcsTb1 sizeTb1 mcsTb2 sizeTb2
1.1 1 1 111 1 1 28 9422 0 0
1.101 1 1 111 2 1 28 9422 0 0
1.102 1 1 111 3 1 28 9422 0 0
1.103 1 1 111 4 1 28 9422 0 0
1.104 1 1 111 5 1 28 9422 0 0
…
1.198 1 1 120 9 1 28 9422 0 0
1.199 1 1 120 10 1 28 9422 0 0
1.2 1 1 121 1 1 28 9422 0 0
DlMacStats
If I run ns3 with a throughput higher than 4 Mbps I always get 75,376 Mbps because up to 4 Mbps I have 1 transmission per second in MAC level.
Why the achieved throughput at MAC-level (DlMacStats) is so high with respect to IP (FlowMon) and PDCP-level (DlPdcpStats)?
Maybe there is something that we are missing out, any explanation for this?