About turboGAMP
turboGAMP extends the Generalized Approximate Message Passing (GAMP) framework proposed by Sundeep Rangan for solving the traditional compressed sensing (CS) problem. GAMP is a powerful method to estimate an unknown i.i.d. non-Gaussian vector from a (known) linear transformation of that vector observed through i.i.d. probabilistic measurement channels. turboGAMP embeds GAMP within a larger message passing algorithm that models non-i.i.d. "structured sparse" signals, using the "turbo CS" framework first proposed by Philip Schniter.
A unique feature of turboGAMP is its object-oriented MATLAB implementation. In this implementation, one combines objects of different types in a modular fashion to specify a particular probabilistic model. At present, there are four primary classes that together describe a complete model:
- Signal - Defines the marginal distribution of each signal coefficient
- Observation - Defines the scalar observation channel
- SupportStruct - Defines the structure present in the support of the unknown signal
- AmplitudeStruct - Defines the structure present in the non-zero amplitudes of the unknown signal
Authors
- Justin Ziniel
- Philip Schniter
- Sundeep Rangan
The developers and contributors to the gampmatlab sourceforge code repository