| Literature DB >> 29882849 |
Florian Grützmacher1, Benjamin Beichler2, Albert Hein3, Thomas Kirste4, Christian Haubelt5.
Abstract
Piecewise linear approximation of sensor signals is a well-known technique in the fields of Data Mining and Activity Recognition. In this context, several algorithms have been developed, some of them with the purpose to be performed on resource constrained microcontroller architectures of wireless sensor nodes. While microcontrollers are usually constrained in computational power and memory resources, all state-of-the-art piecewise linear approximation techniques either need to buffer sensor data or have an execution time depending on the segment’s length. In the paper at hand, we propose a novel piecewise linear approximation algorithm, with a constant computational complexity as well as a constant memory complexity. Our proposed algorithm’s worst-case execution time is one to three orders of magnitude smaller and its average execution time is three to seventy times smaller compared to the state-of-the-art Piecewise Linear Approximation (PLA) algorithms in our experiments. In our evaluations, we show that our algorithm is time and memory efficient without sacrificing the approximation quality compared to other state-of-the-art piecewise linear approximation techniques, while providing a maximum error guarantee per segment, a small parameter space of only one parameter, and a maximum latency of one sample period plus its worst-case execution time.Entities:
Keywords: CPLR; embedded sensor processing; piecewise linear approximation; segmentation; sensor data abstraction; sensor signal compression; wireless sensor networks
Year: 2018 PMID: 29882849 PMCID: PMC6022087 DOI: 10.3390/s18061672
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Part of ECG signal from Section 5.1 approximated with our Connected Piecewise Linear Regression (CPLR) algorithm.
Figure 2Growing sum of squared residuals error per sample.
Figure 3Partially plotted data sets for evaluation.
Figure 4Evaluation of different data sets.
Figure 5Over quantization of partially plotted Respiration signal.
Instruction counts of CPLR, SW, and emSWAB at and a buffer size of 100 on an x86-64 architecture.
| Algorithm | Min. Instr. Count | Max. Instr. Count | Avg. Instr. Count | Std. Dev. | #Invocations |
|---|---|---|---|---|---|
| CPLR | 94 | 150 | 99.18 | 15.90 | 536,146 |
| SW | 46 | 5106 | 935.20 | 1115.92 | 536,146 |
| emSWAB | 53 |
| 3423.60 | 26,628.49 | 536,175 |
Figure 6Execution time of CPLR with .
Figure 7Execution time of SW with .
Figure 8Execution time of emSWAB with .
Instruction counts of CPLR, SW, and emSWAB on an x86-64 architecture at similar ICRs with a maximum buffer size of 100, evaluated on the data set from Figure 3.
| Algorithm | TH | ICR | Min. Instr. Count | Max. Instr. Count | Avg. Instr. Count | Std. Dev. | #Invocations |
|---|---|---|---|---|---|---|---|
| CPLR | 8 | 0.1943 | 94 | 148 | 104.49 | 21.36 | 14,999 |
| SW | 10 | 0.1970 | 57 | 1154 | 306.74 | 180.26 | 14,999 |
| emSWAB | 8 | 0.1907 | 53 |
| 7092.56 | 17,055.25 | 15,000 |
Instruction counts of CPLR, SW, and emSWAB on an ARM Cortex-M4 microcontroller with a maximum buffer size of 100 for SW and emSWAB.
| Algorithm | Minimal Instruction Count | Maximal Instruction Count |
|---|---|---|
| CPLR | 131 | 203 |
| SW | 59 |
|
| emSWAB | 64 | manual analysis infeasible |