Power consumption analysis for audio processing on ultra-low power embedded systems

Post date: Jun 15, 2016 4:55:0 AM

Straight to the point, the goal is to implement a sophisticated audio processing algorithm on an ultra-low power embedded system that can last a month on batteries. This post is a rough power consumption analysis to understand the feasibility of the proposed task.

First, let recap the energy capacity of commercially available batteries

- CR2023 (LiMnO2): 225 mAh (3V)

- AAA (Li ion): 350 mAh (3.6V)

- AA (Li ion): 600-800 mAh (3.6V)

- D size (Li-SOCl2): 1700 mAh (3.6V) [5]

It seems that 2 AA batteries is a reasonable choice. Hence, to last a month, our average power budget is 1600mAh/(30x24h) = 2.2 mA. That's not much, but let's stay with this number for now. It is worth noting that we could consider duty-cycling to operate only during day time, i.e. 12h a day, or use 4 AA batteries to double this power budget.

Any audio processing will need a preamp and a microphone. The easiest way to get these is in a breakout board by Sparkfun [2]. These are NOT the lowest power available, but they are commercially accessible, and hence we'll go with this. From the datasheet

MIC: 0.2-0.5 mA

OPA344: 0.3 mA (2.5-5.5V)

Since this is the baseline of the system, let's be a little bit optimistic here, and assume that the total power/current consumption here is 0.5 mA.

Captured audio needs to be logged on SD card, and thanks to the wisdom of the Internet, I learned that power consumption for writing to SD cards is 40 mA [3]. The source here seems reliable and has been cross-checked.

Energy-friendly microcontroller (EFM) is the most scalable (in the MUSYC sense [1]) line of uC available nowadays, to my best knowledge. Therefore I'll start from here. Let's consider the wireless module (uC+wifi) option first, i.e. WGM110 [6], since it is closest to a smartphone platform. From the datasheet,

- TX-EM0: 250 mA

- RX-EM0: 81 mA (We don't need to receive any)

- off-EM0: 24 mA

- off-EM1(idle): 15.7 mA

- off-EM2(deep sleep): 0.022-0.12 mA

Similarly, the pure uC module options are

- TG(tiny gecko): 150 uA/MHz, max 32 MHz => 4.8 mA

- HG(happy gecko): 127 uA/MHz, max 25 MHz => 3.175 mA

- ZG(zero gecko): 114 uA/MHz, max 24 MHz => 2.736 mA

where the format is (wifi state)-(uC state): current consumption. In addition, EM's 12-bit ADC consumes 513.82 uA [4]. Let's round this to 0.5 mA. Hence ADC+preamp+mic = 1 mA.

Given the above hardware, it is the audio processing software plays a critical part in determining whether the proposed task is achievable. Our processing algorithms can be organized into three subtasks: event detection, event tracking, and logging/transmitting of audio events, with detection triggers tracking, and tracking triggers logging/transmitting. Since audio processing is a periodic task, these subtasks are repeated every period T, which is normalized to 1 for simplicity. We estimate that the subtask execution time takes 0.6, 0.2, 0.1 of the period. Within a period, when all tasks are done, then the uC can goes to the lowest power mode to conserve power while waiting for the audio buffer to get filled. Hence the power consumption of the possibilities are:

-Wifi module

  + 0.1*(250+1) + 0.8*(24+1) + 0.1*(0.12+1) = 45.212 mA, P = 0.1

  + 0.8*(24+1) + 0.2*(0.12+1) = 20.224 mA, P = 0.05

  + 0.6*(24+1) + 0.4*(0.12+1) = 15.448 mA, P = 0.85

- uC module

  + 0.1(40+4.8+1) + 0.8(4.8+1) + 0.1(0.12+1) = 9.332 mA, P = 0.1

  + 0.8(4.8+1) + 0.2(0.12+1) = 4.864 mA, P = 0.05

  + 0.6(4.8+1) + 0.4(0.12+1) = 3.928 mA, P = 0.85

where the probability of each possibility P is determined by a control algorithm, and their values are estimated here. Hence the average power consumption for the wifi and uC modules are 18.6632 mA and 4.5152 mA, respectively. Hence it is possible with the current technology to accomplish the proposed task with a uC module, but not the wifi module. Even with the uC module, we either need 4 AA batteries or 50% duty-cycling.

[1] http://www.musyc.org/

[2] https://www.sparkfun.com/products/9964

[3] http://forum.arduino.cc/index.php?topic=132303.0

[4] David Jun, Long Le, and Douglas L. Jones. Cheap Noisy Sensors Can Improve Activity Monitoring in Stringent Energy Constraints. Invited paper in Proceedings of IEEE Global Conference on Signal and Information Processing (GlobalSIP), December 2013.

[5] https://www.amazon.com/LS33600-Lithium-Thionyl-Chloride-Battery/dp/B00608YAFM

[6] https://www.silabs.com/products/wireless/wi-fi/wi-fi-modules/Pages/wgm110-wi-fi-module.aspx