Designers tasked with developing intelligent products and services are increasingly adopting analytics as a means to process massive amounts of business and engineering data in order to describe, predict and control system behavior.
In general, analytics in embedded systems can be performed in two ways: in the cloud or directly within an embedded system.
In some implementations, analytics are performed in the cloud with the intention of improving the performance of existing embedded systems. For example, BuildingIQ is a leading provider of advanced energy management software, and designs climate-control systems to reduce energy consumption in commercial buildings.
The analytics incorporated into these systems include engineering data from power meters, thermometers, pressure sensors, and other HVAC sensors combined with business data from weather forecasts, real-time energy prices, and demand response data. The result is a cloud-based service that adjusts the building’s existing HVAC embedded systems and can lower energy consumption by up to 25%.
In other cases, analytics are better run directly in an embedded system. For instance, a design team at Scania, the Swedish truck manufacturer, embeds analytics into their emergency braking systems to provide real-time crash avoidance to reduce accidents and meet stringent EU safety regulations.
Engineering data from cameras and radar are processed in real time for object and road marking detection, which are subsequently fused to signal collision warning alerts and automatic brake requests.
As the Scania case shows, there’s a growing need to put more of the data pre-processing and data reduction on the sensor or embedded device itself in order to optimize speed and power. The accelerating IoT trend towards smarter and more connected sensors is only adding to that pressure.
This has the benefit of shrinking the amount of data that is transferred over the network, which reduces the cost of transmission and can lower the power consumption of wireless devices. For this reason a good practice for embedded system design is to perform local pre-processing and only upload the useful information or a predictive signal itself.
Whether cloud-based or embedded, the first step in developing analytics is to access the wealth of available data to explore patterns and develop deeper insights. Datasets can be large in size, come from many different sources and represent many different attributes.
Therefore, the software tools you use for exploratory analysis and analytics development should be capable of accessing all the data sources and formats you plan to use.
Another key step in analytics is data pre-processing, where data is cleaned and prepared before predictive models are developed. For example, data might have missing or erroneous values, or may use different timestamp formats. Predictions from incorrect data can be difficult to debug or can lead to inaccurate or misleading results that impact system performance and reliability.
One other important part of pre-processing is data transformation and reduction. The goal here is to find the most predictive features of the data and use these to enhance the predictive power of the analytics model.
Some common techniques include feature selection to reduce high-dimension data, feature extraction and transformation for dimensionality reduction, and domain analysis such as signal, image, and video processing.
The last step is developing the predictive analytics algorithms themselves. Approaches include mathematical modeling for cases where equations governing system behavior is known or data-driven approaches like machine learning which train and validate predictive models using training datasets. For classification problems involving images and signals, deep learning has emerged as a new category of advanced analytics.
When trained on large labeled training datasets (often requiring hardware acceleration with GPUs and intensive training and assessment), deep learning models can achieve state-of-the-art accuracy, sometimes exceeding human-level performance in object classification.
We’re already seeing engineers and developers use analytics to describe and predict a system’s behavior through embedded control systems that automate actions and decisions. As the number of possible applications increase, we’ll continue to benefit from the impact of analytics-driven embedded systems across a wider variety of industries.
Sourced from Paul Pilotte, Technical Marketing Manager, MathWorks