Multi-Domain Processing for Micropower Sensors
Authors: Salthouse Christopher D 
Published: February 2020

Developing micropower sensors for the Internet of Things requires making decisions about what data is kept and what data is discarded. Fundamentally this is a conflict between flexibility and efficiency and the relationship between these two variables is based on the choice of how the signal processing is divided between four domains: physical, analog, digital, and cloud. This work presents general guidelines for this division derived from specific examples.

Objectives

The design of Internet connected sensors requires developments in sensors, circuit design, and algorithm development. The goal of this work is to provide a framework for analyzing the division of signal processing with an emphasis on analog and digital circuit design.

New Results

The challenge of when to digitize is a classic question of instrumentation that focuses on the division between the analog and digital domains1. For networked sensors, the focus must broaden to the division between four domains: physical, analog, digital, and cloud. An example is shown in Fig. 1 for a simple microphone sending signals to the cloud. The physical design of the microphone will shape the frequency response, dynamic range, and directionality of the sensor. All of these parameters could be adjusted up or down by combining signals from multiple physical microphones at a different level of processing, but in most cases that would be a more power hungry process then adjusting the physical design of the microphone. The analog circuit must, at a minimum, filter the signal to prevent aliasing and perform the analog to digital conversion. In the microphone example, an added filter to remove power line hum might also be included. In this simplest implementation the digital processor simply sends the bits through the radio. In a fuller implementation, the digital processing might include an automatic gain control to reduce the number of bits required to transmit the signal. Finally, once the signal has arrived at the cloud it can be processed to turn the data into information. In the case of a microphone, this processing might consist of speech processing.

This naïve implementation is inefficient because it requires that the entire chain run at full speed all the time. To capture the full range of audible signals, the analog-to-digital converter must perform a 20-bit conversion (to capture 100dB of dynamic range) at 40 kHz (to capture up to 20kHz.) This 800kbps signal must then be transmitted over the radio. For comparison, a modern vocoder can compress speech down to 600 bps2. The trade-off of course, is flexibility. With the full raw data multiple microphones can be combined for beam forming if the full information is digitized or music can be accurately recorded. Neither is possible with the vocoder signal.

The same trade-offs are offered for all sensor types. There are a set of common optimizations that can be performed at each level. The design of the physical sensor can often simplify the design of the following stages. The most common example is the inclusion of a differential output that makes it possible to remove common mode signals such as power line pickup.

Analog signal processing can often be performed very efficiently because complex functions can be implemented by simple circuits, but the primary role for analog circuits in reducing system power is by reducing the work load on the analog to digital converter. The lowest power consumption required for conversion can be approximated by3:

So any operation that reduces the number of bits that must be digitized or the sampling rate at which those bits must be captured will decrease the power. Classic examples of such analog operations are frequency domain filtering to lower the sampling rate or differential sensing to limit the number of bits.

In the digital domain, many designs now perform all of the processing on a microcontroller. Low power microcontrollers and advanced sleep modes have made this an increasingly efficient mode of operation, but for simple operations that are dominated by input and output operations programmable logic may be a more efficient option. So it often makes sense to include a complex programmable logic device (CPLD) as well as a microcontroller in sensor nodes. Unlike volatile FPGAs that must be programmed at start up, these devices can be powered off when not used and then wake up quickly preprogrammed. Altera and Xilinx each make devices with less than 50uW of standby power4.

Processing at the cloud is frequently used to increase flexibility at the cost of power efficiency by sending as much data as possible to the cloud. The next challenge is to find ways in which cloud based computations can dictate the way in which measurements are made at the sensor to increase performance. The lessons from compressive sensing if not all of its formalism will certainly be a part of this solution.

Conclusions

Design of networked sensors requires proper application of tool across the four domains of physical, analog, digital, and cloud processing. Decreasing the bit rate at each interface is the key to decreasing power consumption, but these reductions must be made while retaining needed flexibility.

Fig1: The signal processing in each sensor can be divided between physical, analog, digital, and cloud. The choice of how that is divided trades off between flexibility and power efficiency.

References

1 R. Sarpeshkar, Ultra low power bioelectronics: fundamentals, biomedical applications, and bio-inspired systems. Cambridge Univ Pr, 2010.

2 B. Gold, N. Morgan, and D. Ellis, “Low-Rate Vocoders,” in Speech and Audio Signal Processing, John Wiley & Sons, Inc., 2011, pp. 493–504.

3 B. E. Jonsson, “Using Figures-of-Merit to Evaluate Measured A/D-Converter Performance,” in Proc. of 2011 IMEKO IWADC & IEEE ADC Forum, 2011, pp. 1–6.

4 G. S. Tewolde, “Current trends in low-power embedded computing,” in Electro/Information Technology (EIT), 2010 IEEE International Conference on, 2010, pp. 1–6.