phil schniter: EMturboGAMP matlab code
EMturboGAMP matlab code
The following links point to matlab code for sparse reconstruction (i.e., compressive sensing) of a single measurement vector (SMV) or multiple measurement vectors (MMV).
All of these techniques build on the Generalized Approximate Message Passing (GAMP) algorithm, developed by Sundeep Rangan for the case of known i.i.d signal and noise priors.
The code below extends GAMP to the practical case of unknown noni.i.d priors by automatically learning the signal and noise prior parameters (while simultaneously reconstructing the signal) using an Expectation Maximization (EM) approach, and by incorporating structured sparsity using the turboGAMP approach, where the hyperparameters behind the structuredsparsity are also learned using EM.
matlab code
 EMNNGAMP: Very simple interface; based on i.i.d nonnegative BernoulliGaussianmixture signal prior and noise prior that is either i.i.d zeromean Gaussian or i.i.d Laplacian.
 EMGMGAMP: Very simple interface; based on i.i.d BernoulliGaussianmixture signal prior and i.i.d zeromean Gaussian noise prior.
 EMBGGAMP: Very simple interface; based on simpler i.i.d BernoulliGaussian signal prior and i.i.d zeromean Gaussian noise prior.
 EMturboGAMP: Objectoriented programming environment that handles many forms of structuredsparse inference.
references
 First papers:
 Bilinear versions:

J. T. Parker, P. Schniter, and V. Cevher,
``Bilinear Generalized Approximate Message PassingPart I: Derivation [pdf]
[arxiv].''
[Matlab]
IEEE Transactions on Signal Processing,
vol. 62, no. 22, pp. 58395853, Nov. 2014.

J. T. Parker, P. Schniter, and V. Cevher,
``Bilinear Generalized Approximate Message PassingPart II: Applications [pdf]
[arxiv].''
[Matlab]
IEEE Transactions on Signal Processing,
vol. 62, no. 22, pp. 58545867, Nov. 2014.
 Gaussianmixture and nonnegativity:

J. Vila and P. Schniter,
``An EmpiricalBayes Approach to Recovering Linearly Constrained NonNegative Sparse Signals [pdf]
[arxiv],''
IEEE Transactions on Signal Processing,
vol. 62, no. 18, pp. 46894703, Sep. 2014.

J. P. Vila and P. Schniter,
``ExpectationMaximization GaussianMixture Approximate Message Passing [pdf]
[arxiv],''
IEEE Transactions on Signal Processing,
vol. 61, no. 19, pp. 46584672, Oct. 2013.
 Structured sparsity:

J. Ziniel, S. Rangan, and P. Schniter,
``A Generalized Framework for Learning and Recovery of Structured Sparse Signals [pdf],''
Statistical Signal Processing Workshop,
(Ann Arbor, MI), Aug. 2012.

J. Ziniel and P. Schniter,
``Dynamic Compressive Sensing of TimeVarying Signals via Approximate Message Passing [pdf][arxiv].''
IEEE Transactions on Signal Processing,
vol. 61, no. 21, pp. 52705284, Nov. 2013.

J. Ziniel and P. Schniter,
``Efficient HighDimensional Inference in the Multiple Measurement Vector Problem [pdf] [arxiv],''
IEEE Transactions on Signal Processing,
vol. 61, no. 2, pp. 340354, Jan. 2013.
 Classification:
 Bilinear, nonnegative, Gaussianmixture, and structuredsparse:
background literature
 Generalized Approximate Message Passing (GAMP) is a powerful method to estimate an unknown i.i.d nonGaussian vector from a (known) linear transformation of that vector observed through i.i.d probabilistic measurement channels.
The algorithm was recently proposed by Sundeep Rangan, building on the Relaxed Belief Propagation (RBP) algorithm of Dongning Guo and ChihChun Wang, as well as on the AMP algorithm proposed by David Donoho, Arian Maleki, and Andrea Montanari and rigorously analyzed by Mohsen Bayati and Andrea Montanari.

S. Rangan,
``Generalized Approximate Message Passing for Estimation with Random Linear Mixing [arxiv],''
posted on arXiv 25 Oct. 2010.

M. Bayati and A. Montanari,
``The dynamics of message passing on dense graphs, with applications to compressed sensing [IEEExplore],''
IEEE Transactions on Information Theory,
vol. 57, no. 2, pp. 764785, Feb. 2011.

D. Donoho, A. Maleki, and A. Montanari,
``Message Passing Algorithms for Compressed Sensing [arXiv],''
Proc. Natl. Acad. Sci.,
2009.

D. Guo and C.C. Wang,
``Large sparse linear systems observed via arbitrary channels: A decoupling principle [IEEExplore],''
Proc. IEEE International Symposium on Information Theory,
(Nice, France), June 2007.
 turbo(G)AMP is a framework that extends (G)AMP to problems with nonidentical nonindependent (e.g., "structured sparse") signals and nonidentical nonindependent probabilistic measurement channels.

P. Schniter,
``TurboAMP: A GraphicalModels Approach to Compressive Inference [slides],''
presented at Stanford University (Dec. 2010) and MIT Lincoln Labs (June 2012).

P. Schniter,
``Turbo Reconstruction of Structured Sparse Signals [pdf with typos corrected],''
Proc. Conf. on Information Sciences and Systems,
(Princeton, NJ), Mar. 2010.
[slides]

S. Som, L. C. Potter, and P. Schniter,
``On Approximate Message Passing for Reconstruction of NonUniformly Sparse Signals [pdf],''
Proc. National Aerospace and Electronics Conf.,
(Dayton, OH), July 2010.
(last updated Thursday, 26Feb2015 14:58:03 EST)