A classic problem is the estimation of a set of parameters from measurements collected by only a few sensors. The number of sensors is often limited by physical or economical constraints and their placement is of fundamental importance to obtain accurate estimates. Unfortunately, the selection of the optimal sensor locations is intrinsically combinatorial and the available approximation algorithms are not guaranteed to generate good solutions in all cases of interest. We propose FrameSense, a greedy algorithm for the selection of optimal sensor locations. The core cost function of the algorithm is the frame potential, a scalar property of matrices that measures the orthogonality of its rows. Notably, FrameSense is the first algorithm that is near-optimal in terms of mean square error, meaning that its solution is always guaranteed to be close to the optimal one. Moreover, we show with an extensive set of numerical experiments that FrameSense achieves state-of-the-art performance while having the lowest computational cost, when compared to other greedy methods.
The following contains instructions to reproduce the results of the paper Near-Optimal Sensor Placement for Linear Inverse Problems.
First download the code (and uncompress the files if necessary). Then, open up MATLAB and navigate to the folder where the code is located. Then, for figure X run
Note that the data for the figures is located in the
/data folder. If you want to run the algorithms from scratch, simply execute
To get the results for different panels in Figure 2 (Figure 4), you can specify the
matrix_type parameter within the
fig4_plot.m). The options are:
matrix_type=0: to reproduce the figure for random normalized matrix
matrix_type=1: to reproduce the figure for random matrix
matrix_type=2: to reproduce the figure for DCT randomly selected matrix
matrix_type=3: to reproduce the figure for random orthogonalized matrix
matrix_type=4: to reproduce the figure for Bernoulli 0.5