# Fusing or combining signals from multiple sensors

I've become very interested in the problem of fusing multiple low-cost sensors' outputs and trying to combine these outputs in such a way as to rival or exceed the output of a single high-quality / expensive sensor.

Applications could range from cubesats to antenna or microphone areays.

Specifically, it seems intuitively that one should be able to do better than simple "averaging" to, say, increase SNR for detecting faint signals or perhaps even increasing effective receiver bandwidth (i.e. combining multiple 3 MHz receiver outputs and achieving significantly greater BW without increasing sample rate).

I'm really not that smart on DSP, though, and would very much appreciate any pointers, theoretical limitations, suggested algorithms, resources, or online courses that could help me out.

• There's something almost Utopian about the willingness to share information and the quality of the responses received. All helped me understand the problem better, and I really appreciate all the comments/answers. Oct 19, 2016 at 16:46

Sensors fusion is a quite wide subtopic in signal processing. Apart from sensor fusion, it appears under different guises named for instance diversity enhancement, multisensor combination, ensemble averaging, to name a few.

If the sensors' outputs $y_i$ are in phase or synchronized (a sensitive hypothesis since your are talking about averaging), but possibly with noise $n_i$ or different amplitude levels (the $k_i$ factor):

$$y_i = k_i x+n_i$$

there is a quite old reference in Signal extraction from multiple noisy sensors, S. Palit, 1997. I haven't yet implemented it, and it is not quite cited, but I still have the feeling it deserves a closer look. In the same genre, a lot of recent works follow the track of "ensemble averaging", and the notion of "low-rank" decomposition sounds appealing: put your outputs in a matrix $X$. If there were no noise, the columns would be multiple of the single signal $x$. Hence, is $x$ is not zero, the matrix $X$ is rank one. The challenge, with noise, is to find a low-rank approximation of $X$, separating the signal $x$, noises $n_i$ and potentially localized disturbances, outliers with a sparse footprint. One of these methods is known as GoDec: Randomized Low-rank & Sparse Matrix Decomposition in Noisy Case:

Low-rank and sparse structures have been profoundly studied in matrix completion and compressed sensing. In this paper, we develop Go Decomposition'' (GoDec) to efficiently and robustly estimate the low-rank part $L$ and the sparse part $S$ of a matrix $X=L+S+G$ with noise $G$. GoDec alternatively assigns the low-rank approximation of $X-S$ to $L$ and the sparse approximation of $X-L$ to $S$. The algorithm can be significantly accelerated by bilateral random projections (BRP). We also propose GoDec for matrix completion as an important variant. We prove that the objective value $\|X-L-S\|_F^2$ converges to a local minimum, while $L$ and $S$ linearly converge to local optimums. Theoretically, we analyze the influence of $L$, $S$ and $G$ to the asymptotic/convergence speeds in order to discover the robustness of GoDec. Empirical studies suggest the efficiency, robustness and effectiveness of GoDec comparing with representative matrix decomposition and completion tools, e.g., Robust PCA and OptSpace. GoDec can be extended to solve multi-label learning problem by decomposing the multi-label data into the sum of several low-rank part and a sparse residual, where each low-rank part corresponds to the mapping of a particular label in the feature space. Then prediction can be obtained by finding the group sparse representations of a new instance on the subspaces defined by the low-rank parts.

If the outputs are not time-aligned, or with jitter, then you can explore convolutive blind source separation, superresolution (for BW extension), etc. but this margin is too thin to draw a complete panorama.

• Are there any programs or applications that do something like this? Or is this still within the realm or research? May 3, 2017 at 4:12
• In several domains, including array processing, such things are used May 3, 2017 at 9:21

As usual in DSP (as you might find out later (-: ), a "better" way can only be found if you define what "good" means to you as a number.

Classically, one would try to minimize the variance of the combined estimate, iff that estimates converges to the actual observed quantity's value (bias-free estimate).

So, this is actually a pretty well-researched area; estimation theory, and what is optimal to your application does depend on your application and the properties of your sensor, so no general advice can be given. Rodrigo's advice to look into Kalman filters isn't bad – it's an often-used, popular and in many cases optimal solution to tracking changing quantities under multiple observations.

I've learned this in the lectures on Messtechnik (German: Measurement Technology), and hence, I only know German literature on the topic (measurement and control theory are topics where my local, and generally German universities have a rich history, so there's plenty of "original" literature in German). I'd go and ask someone who's studied EE or mechanical engineering and ask them what courses on metrology, measurement/estimation theory (or at least, control theory) they took and what they'd recommend.

An alternative to mean would be median. For Gaussian noise that is white in both the time axis of the sensor and on the sensor number axis, mean (average) is better than median. There are noise distributions for which median is better. "An Introduction to Nonlinear Image Processing" by Edward R. Dougherty and Jaakko Astola lists the asymptotic variances of mean and median of some symmetrical noise distributions of variance $\sigma^2$ as:

$$\begin{array}{lll} \text{Noise density}&\text{Mean}&\text{Median}\\ \text{Uniform}&\frac{\sigma^2}{N}&\frac{3\sigma^2}{N+2}\\ \text{Gaussian}&\frac{\sigma^2}{N}&\frac{\pi\sigma^2}{2N}\\ \text{Laplacian}&\frac{\sigma^2}{N}&\frac{\sigma^2}{2N} \end{array}$$

In the same vein, Seyhmus Güngören writes in an answer to a Mathematics Stack Exchange question:

Sample mean is the maximum likelihood estimator if the data at hand follows a Gaussian distribution. On the other hand, sample median is the maximum likelihood estimator of the mean if the data follows a Laplace distribution.

Median would work better than average in case there is little steady noise but sometimes one of the sensors malfunctions.

Another keyword is minimum-variance unbiased estimator.