Version History
Version 5.0 (11-23-15)
Made compatible with noise-variance learning implemented inside the EstimOut operators, allowing us to remove the EM loop.
Version 4.3 (6-14-13)
Changed to default option optEM.heavy_tailed = true and added the option optEM.robust_mat to handle cases when the sensing matrix gives issues.
Version 4.1 & 4.2 (6-05-13)
Various bugs and alterations were made to code:
- Cleaned up GAMP warm starting to account for adaptive step size.
- Various outputs (EMstate, param, xvar) now all collected in structure EMfin
- Now user can alter GAMP and EM options without knowing all other defauls. For instance, if one wants to decrease the EM tolerance, they simply need to do EMopt.EMtol = 1e-5, and then call xhat = EMGMAMP(y,A,EMopt).
- Switched the order of GAMPopt and EMopt as input parameters.
- Decreased GAMP iterations to 4 and increased EMiterations to 60.
Version 4.0 (1-15-13)
Added the EMGMAMP Model order selection (EM-GM-AMP-MOS), which automatically selects the number of GM components L. To call simply use xhat = EMGMAMPMOS(y,A).
Version 3.0 (12-01-12)
Added option for estHist output. This structure contains per-iteration GAMP quantities such as the step size and the cost function.
Version 2.0 (4-18-12)
Updated for the MMV case. Now code is included in the GAMP sourceforge package (See download section).
- plot_GM - Plots the estimated pdf for real or imaginary case.
- EMBGAMPdemo - Updated to show plot_GM's usage.
Version 1.3 (12-03-11)
Fourth release of the EM-BG-AMP algorithm.
- EMBGAMP - Allows toggling the learning of each parameter. Also initialized active variance (phi) with unnormalized matrices
- EMOpt- Default initializations for learning of each parameter included.
Version 1.2 (11-21-11)
Third release of the EM-BG-AMP algorithm. Make sure to download new GAMP package as well. Contains the following updates
- EMBGAMP - Changes made to noise variance parameter update equation. Better estimates for lower SNR.
Version 1.1 (11-2-11)
Second release of the EM-BG-AMP algorithm. Contains the following updates
- generate_Amat.m - Now able to generate DFT operators.
- EMBGAMP.m - Now handles either explicit A matrices or GAMP object operators.
- EMBGAMPdemo.m - One example now uses oversampled DFT operator.
Version 1.0 (10-20-11)
First release of the EM-BG-AMP algorithm. Supports real and complex signal types for a single measurement vector (SMV). Includes the following features:
- generate_Amat.m - Generates a random M by N matrix of specified type.
- EMOpt.m - Initilizes optional EM inputs.
- EMBGAMP.m - This is the main function which performs sparse signal estimation.
- EMBGAMPdemo.m - This is an example demo file which demonstrates how to use EMBGAMP and interpret the results.
© 2011 Jeremy Vila
Template design by Andreas Viklund