GSM/LTE LabKit Appnote: Simulating a complex LTE Network with the GSM/LTE LabKit
One of the most sought after features of eNodeB laboratory equipment is the ability to replicate various LTE real-life situations, in order to see how a test UE is affected by different levels of activity in the MAC and PHY layers. UE simulation is one of the most convenient techniques to modify LTE traffic and the Legba GSM/LTE LabKit is very versatile in this respect, due to the YateENB software module.
The Legba GSM/LTE LabKit offers an easy way to operate a controlled LTE network for testing UE devices, including smart phones and embedded IoT/M2M devices. However, one of the limitations of an isolated test network is that it has very little traffic, which limits the scope of the testing and may hide problems in the devices under test.
This is why the Legba GSM/LTE LabKit includes a built-in feature that generates virtual UE's inside the scheduler, resulting in different levels of activity in the MAC and PHY layers of the LTE network. In their turn, such modifications affect the behavior of the real UE devices under test.
Simulated UE's can be active or idle, and they load the resource scheduler and the DL radio channel in the same way as real UE's in the test environment.
Creating the Virtual UE's
First, you have to login into the LabKit, by SSH.
ssh yatebts@YOUR_LABKIT_IP -p 54321
The password is the serial number printed on the front plate of your Legba GSM/LTE LabKit. Now, you have to use Telnet to access the rmanager interface:
telnet 0 5037
This is where actual UE simulation begins, by means of the YateENB module. Using the
enb uepool sim command, you can create and destroy idle and active virtual UE's:
- Idle virtual UE's maintain radio connections (RNTIs) by requesting small amounts of uplink bandwidth every few seconds.
- Active virtual UE's generate downlink traffic at about 100 kbits/sec each on the downlink, with a low modulation efficiency.
To create N idle virtual UE's:
enb uepool sim idle=N
To create N active virtual UE's:
enb uepool sim active=N
To remove all of the virtual UE's:
enb uepool sim clear=true
Verifying the Simulated Activity
The effect of the virtual UE's can be verified and measured inside the eNodeB using the same tools as for real UE's. Throughout all the steps below, you have to be logged into Telnet.
In the Scheduler
enb uepool chans command gives performance information of all of the connected UE's currently known to the scheduler, listed by RNTI, including virtual UE's. While simulated UE's are suffixed by an S on the RNTI column, idle and active simulated UE's can be distinguished by the downlink traffic, which is 0 for idle. For example:
enb uepool sim active= 4 added simulated UE's, 4 active, 0 idle enb uepool sim idle= 10 added simulated UE's, 0 active, 10 idle enb uepool chans RNTI AVGRSSI CURRSSI ... DL-eff 256QAM DLbytes DL-TBs DL-skip DL-NACK ... Age Idle UL-BSR DL-BSR 75 -3 -2 ... 54 false 56k 234 0% 5% ... 4 0 400 5678 74S -48 -48 ... 15 false 0 0 0% 0% ... 5 5 0 0 73S -49 -49 ... 15 false 0 0 0% 0% ... 5 5 0 0 72S -48 -48 ... 15 false 0 0 0% 0% ... 5 5 0 0 71S -48 -48 ... 15 false 0 0 0% 0% ... 5 5 0 0 70S -48 -48 ... 15 false 0 0 0% 0% ... 5 5 0 0 69S -49 -49 ... 15 false 0 0 0% 0% ... 5 5 0 0 68S -49 -49 ... 15 false 0 0 0% 0% ... 5 5 0 0 67S -49 -49 ... 15 false 0 0 0% 0% ... 5 5 0 0 66S -49 -49 ... 15 false 0 0 0% 0% ... 5 5 0 0 65S -48 -48 ... 15 false 0 0 0% 0% ... 5 5 0 0 64S -48 -48 ... 22 false 22k 284 0% 49% ... 12 0 0 8108 63S -49 -49 ... 22 false 41k 516 0% 36% ... 12 0 0 3744 62S -48 -48 ... 22 false 145k 1761 0% 55% ... 12 0 0 1681 61S -48 -48 ... 22 false 201k 2443 0% 32% ... 12 0 0 9592
In the example above, we have:
- 1 real UE (RNTI 75)
- 10 idle virtual UE's (RNTI 65-74)
- 4 active virtual UE's (RNTI 61-64).
We have edited out PUSCH and PUCCH statistics for better readability.
In the eNodeB Internal Performance Report
Virtual UE's do not have bearers and do not generate activity above the MAC layer. However, the activity that they produce in the MAC and PHY layers is apparent in KPI-related measurements and in the output of
enb measurements report.
Here is an example with four active virtual UE's in a 5 MHz eNodeB:
enb measurements report Rates are in kbits/sec In/out counts are in kBytes. DL Performance Report: baseline=29 seconds PDCP: in=0 rate=0 util=0 loss=0 delay=0ms RLC: in=0 rate=0 util=0 rtx/total=0 nacks/pdus=0 nacks/(nacks+acks)=0 overhead=1 MAC: in=0 rate=0.000269397 util=4.19733e-07 overhead=0.999999 rbUtil=0.59 pdcchCongest=0.47 drop=0.00123564 meanTbs=672 meanBsr=0 bsrTxTime=0ms HARQ: in=1329 rate=366.533 util=0.571076 rtx=0.0324608 nack=0.0320923 nackAck=0.482955 renack=0.0249307 conf=0.11 fbRate=0.0647224 unans=0.0488854 pucchRate=0.578199 puschRate=0 PHY: in=1373 rate=378.83 util=0.590235 avail=641.829 eff=0.230124 eleOverhead=0.32 UL Performance Report: baseline=29 seconds PDCP: out=0 rate=0 util=0 loss=0 RLC: out=0 rate=0 util=0 nack=0 rtx=0 rej=0 MAC: out=0 rate=0.000269397 util=3.37592e-07 overhead=0.992958 rbUtil=0.51 drop=0 meanTbs=227 meanBsr=6 delay=174000ms HARQ: out=0 rate=0.0382543 util=4.7938e-05 rtx=0.999823 fer=1 PHY: out=784 rate=216.36 util=0.27113 avail=797.995 eff=0.23843 snr=-10 cap=0 rbOverhead=0.184
In this example, all of the activity in the HARQ and PHY is coming from the virtual UE's. Together, these virtual UE's occupy:
- 59% of the available downlink radio bandwidth
- 51% of the available uplink radio bandwidth
- most of the available DCI bandwidth on PDCCH (PDCCH congestion rate is 47%)
(Since these UE's do not really exist, the uplink error rate is 100% and the HARQ feedback rate on PDSCH is very low.)
On the Radio Channel
Virtual UE's produce downlink radio transmissions on PDCCH and PDSCH, just like real UE's.
In order to visualize the radio transmission from virtual UE's in the downlink resource grid and time-frequency power map, you can use the
enb phy printgrid command, which results in a .png file similar to the following example:
This image shows the uplink and downlink resource grids for a single 5 MHz LTE frame with four simulated UE's and no real UE's.
- The left 1/3 of the image shows the downlink grid color-coded by channel type:
- Green for PSS/SSS.
- Blue for PBCH.
- Orange for PDCCH.
- White for occupied PDSCH; grey for unused PDSCH.
- Red for CSRS.
- Black for reserved.
- The middle 1/3 of the image shows the downlink grid power levels, with white being maximum power.
- The right 1/3 of the image shows the uplink grid power levels; it is all black because there is no uplink activity.