LTE network performance evaluation

252 views
Skip to first unread message

Hiago Prata

unread,
Dec 14, 2018, 6:24:36 AM12/14/18
to ns-3-users
Hi, I'm trying to simulate a scenario I was passed as an exercise on college. That's the following:

 - There are 4 eNodeBs along a straight line, separated by a fixed distance of 1000 meters.

 - A single UE must move along the same line the eNBs are positioned at a constant speed of 20 m/s.


I must evaluate the performance metrics for the communication between the UE and a remote host.
The metrics are throughput, delay and jitter over time; and the handover failures over time.

I already found that the example `lena-x2-handover-measures` does exactly what I want to do. But I'm facing some issues:

 - The application run between the two nodes consumes almost no bandwidth, thus not having a significant throughput. And
I could not figure out how to set a more data intensive application.

 - As a next step, I'd have to plot the RSRP of the UE reported to each of the eNBs, but when I look at the DlRsrpSinrStats
traces, the RSRP levels are always too close to zero, at a scale of 10^-15 dBm. I've tried to change the propagation model,
without success, using the following command:
lteHelper->SetAttribute ("PathlossModel", StringValue ("ns3::LogDistancePropagationLossModel"));
 but when checking the attribute set up by the lteHelper I get:
hiago@ubuntu-1804:~/Workspace/source/ns-3.29$ ./waf --run scratch/fct-lena-x2-handover-measures --command-template="%s --PrintAttributes=ns3::LteHelper"
Waf: Entering directory `/home/hiago/Workspace/source/ns-3.29/build'
[2687/2764] Linking build/scratch/subdir/subdir
[2689/2764] Linking build/scratch/scratch-simulator
[2692/2764] Linking build/scratch/lte-test
[2693/2764] Compiling scratch/fct-lena-x2-handover-measures.cc
[2723/2764] Linking build/scratch/fct-lena-x2-handover-measures
Waf: Leaving directory `/home/hiago/Workspace/source/ns-3.29/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (55.918s)
Attributes for TypeId ns3::LteHelper
    --ns3::LteHelper::AnrEnabled=[true]
        Activate or deactivate Automatic Neighbour Relation function
    --ns3::LteHelper::EnbComponentCarrierManager=[ns3::NoOpComponentCarrierManager]
        The type of Component Carrier Manager to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting ns3::LteEnbComponentCarrierManager.
    --ns3::LteHelper::FadingModel=[]
        The type of fading model to be used.The allowed values for this attributes are the type names of any class inheriting from ns3::SpectrumPropagationLossModel.If the type is set to an empty string, no fading model is used.
    --ns3::LteHelper::FfrAlgorithm=[ns3::LteFrNoOpAlgorithm]
        The type of FFR algorithm to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::LteFfrAlgorithm.
    --ns3::LteHelper::HandoverAlgorithm=[ns3::NoOpHandoverAlgorithm]
        The type of handover algorithm to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::LteHandoverAlgorithm.
    --ns3::LteHelper::NumberOfComponentCarriers=[1]
        Set the number of Component carrier to use If it is more than one and m_useCa is false, it will raise an error
    --ns3::LteHelper::PathlossModel=[ns3::FriisPropagationLossModel]
        The type of pathloss model to be used. The allowed values for this attributes are the type names of any class inheriting from ns3::PropagationLossModel.
    --ns3::LteHelper::Scheduler=[ns3::PfFfMacScheduler]
        The type of scheduler to be used for eNBs. The allowed values for this attributes are the type names of any class inheriting from ns3::FfMacScheduler.
    --ns3::LteHelper::UeComponentCarrierManager=[ns3::SimpleUeComponentCarrierManager]
        The type of Component Carrier Manager to be used for UEs. The allowed values for this attributes are the type names of any class inheriting ns3::LteUeComponentCarrierManager.
    --ns3::LteHelper::UseCa=[false]
        If true, Carrier Aggregation feature is enabled and a valid Component Carrier Map is expected.If false, single carrier simulation.
    --ns3::LteHelper::UseIdealRrc=[true]
        If true, LteRrcProtocolIdeal will be used for RRC signaling. If false, LteRrcProtocolReal will be used.
    --ns3::LteHelper::UsePdschForCqiGeneration=[true]
        If true, DL-CQI will be calculated from PDCCH as signal and PDSCH as interference If false, DL-CQI will be calculated from PDCCH as signal and PDCCH as interference

So my questions are:

 - How to properly set different lteHelper attributes?
 - How to evaluate the handover success rate?
 - And how to measure the performance metrics over time? (I could only set up FlowMonitor to take the average by flow)

 
mod-lena-x2-handover-measures.cc
Reply all
Reply to author
Forward
0 new messages