Analyzing power consumption of cellular IoT devices with Otii and a network simulator
June 5, 2020
Peter Macejko, a Wireless Specialist at Anritsu, paired Otii Arc with a network simulator MT8821C to analyze the power consumption of cellular IoT systems. Testing the battery drainage in an IoT device during different radio communication states, in a repeatable, controllable and automated way, is invaluable for securing the product quality throughout the development project.
“In general, the most significant impact on a battery is the peak performance of a device and the power saving mode (PSM) in which an IoT device is most often placed”,says Peter.
The main goal was to import a signaling trace from the Anritsu instrument to the Otii GUI application, to understand the effects of the device energy consumption in the different radio scenarios. Creating an automated way of measuring power consumption while verifying the device’s network capabilities meant using the following:
MT8821C Radio Communication Analyzer
Otii Enterprise License
A PC to remotely control both instruments
MT8821C is connected to the PC via the Ethernet cable, allowing the remote control of the instrument. Otii Arc is used as a power analyzer. Its server runs locally on the PC, which is connected to the Otii Arc via a USB cable.
Otii application and its GUI is used to show the energy consumed. During a measurement, the energy consumption is shown in real-time. It can be recorded and processed later as needed. Both instruments are automated using Python. To control the MT8821C, the PyVisa module is installed on the PC, in addition to Python itself. It provides the PC with all the necessary tools to communicate with the network simulator using Virtual Instrument Software Architecture (VISA) commands and queries.
The communication for and the control of the Otii Arc is provided by an API library offering a large number of functionalities. Note that the repetitive steps used in the Otii GUI application can be automated using Python. Otii Enterprise license enables access to these scripting functionalities. Few things to consider, according to Peter, when addressing this type of automation:
Always have all the equipment actively connected to the PC – a running Otii server and a working IP connection between the PC and the MT8821C.
A dictionary for translating codenames is essential. Since the goal is to import a signaling trace from the Anritsu MT8821C to the Otii GUI application, translation of the code number into a human-readable text every time a response is received from a sent query is the key.
The time synchronization of the instruments is crucial, but it can be challenging. The control PC, the Otii Arc records and the MT8821C signaling trace’s timestamp all use different formats. Hence, theoretically, the time resolution can go as low as 1ms, which is set by the signaling trace having the lowest time resolution of the three. However, this level of measurement precision cannot be achieved in practice as there are delays due to the network communication and the executed processes. The upper limit is empirically obtained by multiple observations using a protocol analyzer and other tests performed in Python. Once the time is adjusted based on these steps, the minimal guaranteed precision is that of +/- 250ms. It is important to note that real accuracy is better than the guaranteed one. Often the actual value is anywhere between 100-200ms, which can always be optimized further.
And the result? Once the signaling trace is imported and the time offset between the record and the signaling trace’s timestamp is adjusted, signaling stages of the radio communication can be seen inside the Otii GUI application, synced to the measurement. As an example, Fig. 2 shows the power consumption when a device under test (DUT) joins the network. By clicking on the imported signaling trace line in the log window of Otii, it automatically connects to the power consumption in the above graph and the current level at that specific time.
In this project, a DUT is continually supplied with a constant voltage power by Otii Arc.
“In the real world, IoT devices usually have batteries that are unable to hold a constant voltage over the lifetime of the device. Therefore, to enhance the fidelity of the measurement, I recommend using Otii Arc (and Otii Battery Toolbox) to simulate different batteries’ power profiles.”,Peter adds.
Using Otii Arc and Otii Battery Toolbox, different batteries can be emulated, ranging from commercial batteries to those of customized design.
If you are interested in Anritsu´s Python script and want to know more about the use case, get in touch!
Further read can be found here. A short video of the set-up and execution of the automatization, measuring a Quectel chipset as DUT, can be found here.