PicoLTE is an LTE network-in-a-box providing an LTE evolved packet system (EPS). It can run both eNodeB to provide E-UTRAN radio access and EPC to handle control and data planes of LTE User equipment.

The eNodeB will provide NB-IoT E-UTRAN radio access to the Cat.M1 & NB-IoT modem of the SKY66430 application board. The PicoLTE is used to provide NB-IoT and Cat.M1 connectivity (both eNodeB and EPC) while Skyworks’s SKY66430 can be used in IP mode to exchange Data and test the following test cases:

  • Connectivity
  • Combined Attach
  • Throughput on DL and UL
  • Power Saving Mode
  • eDRX
  • End-to-End CoAP Scenarios
  • End-to-End MQTT Scenarios
  • SMS test cases
  • NonIP Data Delivery

One can use a spectrum analyzer to capture the spectrum of the NB-IoT and Cat.M1 cells. Test and measurements can be done over RF cables or Over-The-Air (OTA) in anechoic chamber. In the conducted scenario, adequate attenuators, duplexers, circulators and power splitters/combiner must be used.

Power Saving Mode

Release 12 of 3GPP added the Power Saving Mode (PSM) device feature that allows a device to enter a deep sleep mode and switch off most of its circuitry. This mode is different than power off because the device stays registered into the network so that it does not need to re-attach after wakeup. As with a power off state, the device will not be reachable by the network, but it may wake up if it has some data to transmit or when a parameter called Tracking Area Update parameter (TAU) expires.

The UE remains registered with the network and there is no need to re-attach or re-establish PDN connections. The UE will not be reachable in the PSM state and will save power during this deep sleep window.

The UE activates PSM by including two timer values in the Attach or Tracking Area Update (TAU). The first timer is the T3324, which defines the time the UE stays active after idle mode following the Attach or TAU procedure. The second timer is an extended T3412 which defines the extended time for a UE to send periodic TAU. Figure 1 illustrates device status versus active and extended timers (T3324 and T3412).

Figure 1 — Power Profile of Power Saving Mode activities

T3324 Active Timer

The UE requests for a T3324 Active Timer value during Attach and TAU procedures. The MME allocates the T3324 value to the UE. The T3324 active timer determines the duration during which the device remains reachable for mobile terminated transaction on transition from connected to idle mode. The device starts the active timer when it moves from connected to idle mode and when the active timer expires, the device moves to Power Saving Mode. The MME takes the UE requested value and MME local configuration into account for determining the Active Timer value. The MME includes the T3324 value IE in the ATTACH ACCEPT/TAU ACCEPT message only if the T3324 value IE was included in the ATTACH REQUEST/TAU REQUEST message. A UE using PSM is available for mobile terminating services only for the period of an Active Time after a mobile originated event like data transfer or signalling, for example after a periodic TAU/RAU procedure. The MME allows a value of ‘0’ for the T3324 timer. In this case the UE enters the Power Saving Mode immediately. Table 1 summarizes the units (increment) for the Active Timer T3324. The value is 5 bits in length and must be multiplied by the increment to get its real value.

Unit

Value
b8b7b6 Increment b5b4b3b2b1 Decimal
000 2 seconds 00000 0
001 1 minute 00001 1
010 decihours …..
011 deactivated 11111 31

Table 1 — T3324 Active Timer Unit and Value

T3412 Extended Timer

The T3412 timer is also referred to as the periodic Tracking Area Update (TAU) timer. Periodic tracking area updating is used to periodically notify the availability of the UE to the network. The procedure is controlled in the UE by the periodic tracking area update timer (timer T3412). The value of timer T3412 is sent by the network to the UE in the ATTACH ACCEPT message and can be sent in the TRACKING AREA UPDATE ACCEPT message. The UE shall apply this value in all tracking areas of the list of tracking areas assigned to the UE, until a new value is received. A longer periodic TAU timer is possible using T3412 extended timer.

When the UE includes the T3324 value IE and the UE indicates support for extended periodic timer value in the MS network feature support IE, it may also include the T3412 extended value IE. Apart from the value requested by the UE, the MME verifies the local configuration into account while selecting a value for the T3412 extended timer. When the MME includes the T3412 extended value IE in the ATTACH ACCEPT message or TRACKING AREA UPDATE ACCEPT message, the MME uses timer T3412 extended value IE as the value of timer T3412. Table 2 summarizes the units (increment) for the Extended Timer T3412. The value is 5 bits length and must be multiplied by the increment to get its real value.

Unit

Value
b8b7b6 Increment b5b4b3b2b1 Decimal
000 10 minutes 00000 0
001 1 hour 00001 1
010 10 hours …..
011 2 seconds …..
100 30 seconds …..
101 1 minute …..
110 320 hours …..
111 deactivated 11111 31

Table 2 — Automation Test of Power Saving Mode

Measuring the PSM Power Profile

To measure the power profile of a device in normal and PSM modes, one can use a Digital Power Meter to measure current consumption. This digital power meter will basically power the device, measure the dropped current, and then compute the power consumption and draw the power profile. A typical setup would monitor the device from an external computer, the power meter and the PicoLTE network emulator is depicted in “Error! Reference source not found.” This setup is not part of the current release, but will be provided in future releases as a reference design.

In a procedure containing several steps, the operations are numbered (1, 2, 3…). The diamond icon () is used to indicate a procedure containing only one step, or secondary steps. Lowercase letters (a, b, c…) can also be used to indicate secondary steps in a complex procedure.

The abbreviation NC is used to indicate no connection.

Capital letters (A,B,C…) are used to identify any term marked as is on an instrument, such as the names of connectors, buttons, indicator lights, etc. Capital letters are also used to identify key names of the computer keyboard.

All terms used in software, such as the names of menus, commands, dialog boxes, text boxes, and options, are presented in bold font style.

The abbreviation N/A is used to indicate something that is not applicable or not available at the time of press.

Note:

The screen captures in this document are taken from the software version available at the time of publication. For this reason, they may differ slightly from what appears on your screen, depending on the software version that you are using. Furthermore, the screen captures may differ from what appears on your screen if you use different appearance settings.

PicoLTE eNodeB Configuration

For demonstration purpose, the PicoLTE is running Cat.M1 cell at 1970 MHz (LTE band 20) as depicted in Figure 2. The configuration files are provided in the directory /opt/nutaq/picolte/examples/R1902/eps/ciot/emtc/enb.

The main configuration file is enb.cfg located in the “./enb” directory. It includes the following configuration files (see Table 3):

Configuration file

Description

enb.cfg This is the main configuration file. It is JASON-based syntax.
sib/sib1.asn System Information Block 1 (SIB1) configuration file. It is ASN-based syntax.
sib/sib2_nb.asn System Information Block 2 (SIB2) configuration file for LTE Narrow Band scenario. It is ASN-based syntax.
drb/drb.cfg Data Radio Bearer (DRB) configuration file for LTE Narrow Band scenario. It is JSON-based syntax.
rf/rf_driver.cfg This is the configuration file of the Radio Head and DUC/DDC logic implemented on the FPGA. It is JSON-based syntax.
rf/rf_front_end.cfg Look up table of amplifier gains. The suitable gains are selected based on the required output power defined in the configuration file rf_driver.cfg.

Note: Do not edit rt_front_end.cfg file.

Table 3 — eNodeB’s configuration files

The eNodeB is connected to the EPC and supports different PDNs including the Non-IP PDN to handle Non-IP connectivity and NIDD both for MO and MT cases.

Setting the DL/UL central Frequencies

As the DL and UL central frequencies in LTE are related, one can use the DL EARFCN to setup the operating carrier frequencies both for the Uplink and Down Link. The DL EARFCN for standard LTE bands can be configured in the enb.cfg configuration file located in the folder ./enb. The parameter’s name is dl_earfcn (see Table 4).

Parameter

Description

dl_earfcn Downlink EARFCN

Example:

dl_earfcn: 1000, /*DL: 1890 MHz and UL: 1970 MHz (Band 2) */

 

Table 4 — Setting DL EARFCN

Figure 2 — Spectrum of an LTE 10MHz supporting Cat.M1 at 1960 MHz (LTE Band 2 – Downlink)

There are many web tools that can be used to find the suitable EARFCN depending on your setup. The following one proposes the computation of both carrier frequency and ARFCNs: http://niviuk.free.fr/lte_band.php.

Setting the Output Power

The output Power can be configured in the rf_driver.cfg configuration file located in the folder ./enb. The parameter’s name is power_output (see Table 5).

Parameter

Description

power_output Power output [dBm]. For the radio640, the range is between -39 (minimum value) and -8 (maximum value)

Example:

power_output: -20, /*Power output [dBm] set to -20 dBm*/

 

Table 5 — Setting RF Output Power

Setting the RX Gain

The receiving gain can be configured in the rf_driver.cfg configuration file located in the folder ./enb. The parameter’s name is rx_fssssront_end_gain (see Table 6).

Parameter

Description

power_output Rx Variable Gain Amplifier in dB. The values for the radio640 depends on the bands used. 0dB is the maximum value and 70 dB is the minimum value.

Example:

rx_front_end_gain: 19, /*Set Total RX Gain to 19 dB*/

Table 6 — Setting Receiving Gain

Setting the RF port

The RF port can be configured in the rf_driver.cfg configuration file located in the folder ./enb. The parameters names are downlink_rf_port_x and upink_rf_port_x, where x is the cell index (see Table 7). The following table specifies the suitable RF ports for one cell scenario. In the case of multiple cells please refer to PicoLTE’s User Guide for more details about multiple cell configuration.

Parameter

Description

Physical RF Port

downlink_rf_port_0 Cells indexes assignment to physical RF ports.

Example:

downlink_rf_port_0: 1, /*One Cell transmitting on RF port TRX1*/

rx_front_end_gain: 19, /*Set Total RX Gain to 19 dB*/

Transmission mode 1

  • 1 (TRX1)
  • 3 (TRX3)

Transmission mode 2

  • 1,2 (TRX1, TRX2)
  • 3,4 (TRX3, TRX4)
uplink_rf_port_0 Cells indexes assignment to physical RF ports.

Example:

uplink_rf_port_0: 1, /*One Cell receiving on RF port RX1*/

Transmission mode 1

  • 1 (RX1)
  • 3 (RX3)

Transmission mode 2

  • 1,2 (RX1, RX2)
  • 3,4 (RX3, RX4)

Table 7 — Setting RF ports

Other Parameters

To tune any other parameter please read the description of this parameter in the configuration parameters User Guide and contact support@nutaq.com for any help.

PicoLTE EPC Configuration

For demonstration purpose, the PicoLTE is running an EPC configuration allowing the management of Cat.M1 devices. The configuration files are provided in the/opt/nutaq/picolte/examples/R1902/eps/ciot/emtc/epc.

One can use one of those examples to test Power Saving Mode. The main configuration file is mme.cfg located in the “./epc” directory. It might include the UE Data Base if it is not already defined there using the JSON List of Objects: ue_db. Every object of this list defines a subscriber which is defined by the USIM information (see Table 8).

Configuration file

Description

mme.cfg This is the main configuration file. It is JASON-based syntax.
ue_db-ims.cfg User Equipments Data Base. It is JASON-based syntax.

Table 8 — EPC’s configuration files

PDN Definition

One or multiple PDNs can be defined in the mme.cfg configuration file using the pdn_list. It is a JSON list of one or more PDNs objects. The following table summarize the key parameters of a PDN object.

Parameter

Description

pdn_type Select the PDN type.

The available PDN types are ipv4, ipv6, ipv4v6, non-ip (default = ipv4).
access_point_name Set the Access Point Name
first_ip_addr First available IPv4 address.
last_ip_addr Last available IPv4 address.
ip_addr_shift The allocated IPv4 addresses are allocated starting from first_ip_addr with a difference of 2^ip_addr_shift. Hence last_ip_addr – first_ip_addr must be a multiple of 2^ip_addr_shift. This option is useful in case of inter-UE communication to ensure that the IPv4 address of a given UE is the only one in its netmask.
p_cscf_addr IPv4 or IPv6 addresses of the PCSCF servers (VoLTE).
dns_addr IPv4 or IPv6 addresses of the DNS servers.
first_ipv6_prefix First available global IPv6 prefix used in Router Advertisement message sent to the UE (only the high 8 bytes of the IPv6 address are meaningful). Note that the selected prefix will also be used as the interface identifier sent in NAS signalling.
last_ipv6_prefix Last available global IPv6 prefix used in Router Advertisement message sent to the UE (only the high 8 bytes of the IPv6 address are meaningful). Note that the selected prefix will also be used as the interface identifier sent in NAS signalling.
erabs Array of objects. Each element defines an E-RAB (E-UTRAN Radio Access Bearer) associated to the PDN. The first E-RAB is the default radio bearer and must always be present. The additional E-RABs are dedicated radio bearers and must include a Traffic Flow Template (TFT) unless they are defined as UE initiated.

qci — QoS Class Identifier of the E-RAB.

priority_level — Priority level.

pre_emption_capability — Enumeration: shall_not_trigger_pre_emption or may_trigger_pre_emption.

pre_emption_vulnerability — Enumeration: not_pre_emptable or pre_emptable.

Example

NonIP
{   pdn_type: “ipv”4,

    access_point_name: “internet”,

    first_ip_addr: “192.168.7.2”,

    last_ip_addr: “192.168.7.254”,

    ip_addr_shift: 2, /* difference between allocated IP addresses is 4 */

    p_cscf_addr: [“192.168.7.1”],

    dns_addr: “8.8.8.8”, /* Google DNS address */

    erabs: [{ qci: 9, <

          priority_level: 15,

          pre_emption_capability: “shall_not_trigger_pre_emption”,

          pre_emption_vulnerability: “not_pre_emptable”,

    },],

},

Table 9 — Public Data Network parameters

NonIP PDN

The EPC can handle:

  • Non-IP PDN connection establishment
  • MO Non-IP data
  • MT Non-IP data
  • Non-IP Events

The EPC provides an API that can be used by an external service to register to Non-IP events and forward Non-IP Data both on the Uplink and Downlink sides between the remote application server and the EPC. The EPC handles Non-IP traffic to and from the NB-IoT devices.

A Non-IP PDN must be configured to enable NonIP Data Delivery. We just need to set the pdn_type parameter of a PDN object to “non-ip”.

UE Data Base

The UE Data base can be defined in the mme.cfg configuration file or it can be defined in a separate file and included in the mme.cfg configuration file using the directive include (include “ue_db-ims.cfg“,). The parameter ue_db is a JSON array of objects that must be used to configure the user database (see Table 10). Each element of this array is an entry for one user. The following properties are available:

Parameter

Description

sim_algo Optional enumeration. xor, milenage or tuak (default = xor). Set the SIM authentication algorithm. Note: test USIM cards use the XOR algorithm.
imsi Set the IMSI.
amf Set the Authentication Management Field.
sqn Set the initial sequence number. For the XOR algorithm, the actual value does not matter. For the Milenage or TUAK algorithm, a sequence number resynchronization is initiated if the sequence number does not match the one stored in the USIM.
K Set the user secret key (as a 16-byte hexadecimal string).
multi_sim If set to true, allow several UEs to have the same IMSI (useful when using several identical test SIM cards in different UEs at the same time). They are distinguished with their IMEI. Note: it is only allowed with the XOR authentication algorithm.
Example ue_db: [ {

    sim_algo: “xor”, /* USIM authentication algorithm: xor, milenage or tuak */

    imsi: “001010123456789”, /* Anritsu Test USIM */

    amf: 0x9001, /* Authentication Management Field */

    sqn: “000000000000”, /* Sequence Number */

    K: “00112233445566778899aabbccddeeff”, /* Anritsu Test USIM */

    multi_sim: true,

    },

   /* Add new entries for each IMSI/K */

   ],

Table 10 — Setting the UE Database

Configuring Power Saving Mode on the MME

This section describes how to configure the Power Saving Mode feature on the MME. The MME provides a set of parameters listed in Table 11 to enable and set PSM Active and Extended Timers. Those parameters, if used, must be defined and set in the MME configuration file available in NB-IoT examples.

Parameter

Description

Example

psm Optional boolean (default = true). If set to false, MME will ignore the PSM request sent by the UE. psm: true, /* Enable PSM */

psm: false, /* Ignore PSM */
t3412 Optional integer. Value in seconds of the T3412 (TAU update) timer. -1 means that the timer is deactivated. t3412: 3600, /* 1 hour */
t3412_low_priority Optional integer. Value in seconds of the T3412 (TAU update) timer if the UE indicates NAS signaling low priority. -1 means that the timer is deactivated. t3412_low_priority: 153600,

      /* 42 hours */
t3412_extended_forced Optional integer. Value in seconds of the T3412 extended timer if UE uses PSM. If different from -1, the MME will ignore the value requested by the UE and will send this one instead. t3412_extended_forced: 273600,

      /* Force T3412 Extended Timer to 76 hours */
t3324_forced Optional integer. Value in seconds of the T3324 timer if UE uses PSM. If different from -1, the MME will ignore the value requested by the UE and will send this one instead. t3324_forced: 180, /* Set Active Timer to 3 minutes */

Table 11 — MME’s Power Saving Mode Parameters

Power Saving Mode Test Cases

The following test cases can be configured and tested with the PicoLTE and C030 device (see Table 12).

PSM parameter

Description

UE

MME
Ignore UE’s PSM request PSM is disabled by the network. Any ATTACH or TAU REQUEST issued by the UE including T3324 Active Timer and T3412 Extended Timer will be ignored. ATTACH REQUEST

TAU REQUEST

T3324 and T3412
psm: false,
Accept UE’s PSM request PSM is enabled and Network accepts any value of T3324 Active Timer or T3412 Extended Timer attached in the messages ATTACH or TAU REQUEST ATTACH REQUEST

TAU REQUEST

T3324 and T3412
psm: true,

Default value is True

ATTACH ACCEPT

TAU ACCEPT

T3324 and T3412

Force PSM parameters PSM is enabled and Network forces T3324 Active Timer or T3412 Extended Timer. Any ATTACH or TAU REQUEST message request PSM timers will be rejected and network proposes the fixed values in the ATTACH or TAU ACCEPT messages.

ATTACH REQUEST

TAU REQUEST

T3324 and T3412

psm: true,

t3324_forced: 180,

t3412: 3600,

ATTACH ACCEPT

TAU ACCEPT

T3324 and T3412

Table 12 — Power Saving Mode Test Cases

Test examples – SKY66430

The Skyworks SKY66430 application board is an out-of-the-box rapid prototyping solution for IoT applications supporting CIoT such as NB-IoT and Cat.M1 modes.

The following figure shows a dashboard of the different terminals used to monitor the LTE eNB and MME,  the modem console as well as the UI capture the spectrum used by the PicoLTE cell and the Power profile of the modem.

This dashboard will be used along this document to capture the modem activities for the different test cases.

Figure 3 — Dashboard of terminals

Connectivity Test Case (Attach & Detach)

The following figure shows the selection of Cat.M1 mode and band 2 (AT+SQNBANDSE=0,”standard”,”2”). When the device is turned on (AT+CFUN=1) it performs a cell search at band 2. The modem detects the PicoLTE cell and send an Attach Request (PRACH trace on then eNB CLI) to connect to the network. As the device is using a test SIM card registered in the HSS, the network accepts the attach request and registers the device. We can see in the MME CLI the device is attached to the PicoLTE on the PDN having the APN “internet”. The device gets assigned the IP address “192.168.3.1”

Figure 4 — Selection of Cat.M1 mode and band 2

The PicoLTE comes with a web-based GUI to help understanding what is going on the LTE network (eNB and MME) in a user-friendly manner. The web GUI uses web socket to capture the messages of the layers and interfaces enabled in configuration files.

In the following figure we can see the NAS messages on the MME. It shows the call flow between the device (UE) and the MME.

We can see all the procedure from the “Attach Request” up to the “Attach Accept” and “Attach complete”.

Figure 5 — NAS messages on the MME

The next figure shows the registered UEs (IMSI/IMEI) and their status.

Figure 6 — Registered UEs

To test the detach function, we use issue AT+CGATT=0 command to the modem and we can check its status on the MME CLI on the REG column which is reporting N in this case (the device is not registered).

Figure 7 — Checking status

The web GUI also shows the device’s status change from “true” to “false” which means that the device is no longer registered on the network.

Figure 8 — Displayed Status

The NAS messages show the detach procedure triggered by the device as illustrated in the following figure (“Detach Request” and “Detach Accept”). The following traces shows also the NAS and RRC messages of the detach procedure on the eNB side.

Figure 9 — NAS and RRC messages

Throughput Test Case

To measure the Throughput on the DL/UL, we use “Iperf” and send UDP traffic to the device having the IP address “192.168.3.2”.

iperf -c 192.168.3.2 -u -b 1M -t 3000 -d -i 1

The eNB CLI reportes the measured Data rate on the DL and UL as shown in the columns brate (276 kbps on the Dl and 19.6 kbp on the UL).

Figure 10 — Data Rate on DL and UL

The PicoLTE’s Web GUI captures also the measured throughput by the eNB both on the DL and UL as illustrated in the following bitrate tab.

Figure 11 — Measured Throughput on Bitrate Tab

Configuring the UE Power Saving Mode

A UE is PSM enabled only when:

  • It sends T3324 timer in ATTACH/TAU.
  • Power Saving Mode is enabled in configuration by providing T3324 active and T3412 extended timers or by configuring “UE requested” timer values.
  • T3412-Extended is expressed as a string of a binary number encoded on 8 bits: 3 bits for the unit, 5 bits for the value.
  • T3324 encoding is expressed as a string of a binary number encoded on 8 bits: 3 bits for the unit, 5 bits for the value.

Activate PSM with AT+CPSMS=1,,,”10000110″,”00001000″

  • T3324:16s, (8 x 2 seconds)
  • T3412-Extended: 3min (6 x 30 seconds)
  • Here T3412 is set to very small value to facilitate testing.

Please Note: In the PSM and eDRX tests the UE is registered on a PDN having the IP address “192.168.7.1”. The IP address of the device is “192.168.7.2”.

The following figure shows the PSM configuration on the modem console on the top right corner and the devices connection established on the PicoLTE network as shown in the eNB and MME CLIs as well as the current curve on the power monitor.

Figure 12 — PSM configuration and Device Connection

To check the PSM timers request by the devices we can display the NAS “Attach Request” message as depicted in the following figure. At the bottom right corner, we can see the T3324 and T3412 as well as their values requested by the devices.

Figure 13 — NAS “Attach Request” Message

At the bottom right corner, we can see the T3324 and T3412 as well as their values accepted by the network (MME) in the “Attach Accept” NAS message.

Figure 14 — “Attach Accept” NAS Message

The Power Profile of the following figure shows the inactivity of the device based on the requested T3324 and T3412 timers and confirms the expected behavior of the device.

Figure 15 — Power Profile

The following figures show the NAS Tracking Area Update messages (TAU request and TAU Accept) when the device wake up from deep sleep mode for many cycles. The measured power profile confirm the expected behavior of the device.

Figure 16, 17, 18, 19, 20, and 21 — NAS Tracking Area Update Messages

In the following figure, the device initiates a ping request (AT+PING=”www.sequans.com”) which immediately wake up the radio and send the traffic, even when the device is in the deep sleep window.

Figure 22, 23 and 24 — Ping Request

Testing eDRX

Activate eDRX with the parameters

  • AT+SQNEDRX=2,4,”0101″,”0000″
    • eDRX cycle length is 81.92s
    • PTW is 1.28s

Enable CEREG URC

  • AT+CEREG=2

Attach to the networks

  • AT+CFUN=1

In the figures below, the modem console on the top right corner shows the setting of eDRX parameters and the connectivity trigger (AT+CFUN=1). The device is then registered on the network using the requested eDRX parameters as shown in the MME and eNB CLIs as well as the NAS messages (“Attach Request” and “Attach Accept”). The measured power profile depicts the device activity while using the requested Paging Time Window (PTW) and eDRX cycle.