Size- and Level- Adaptive MCMC software
This webpage describes the Matlab files used in our improved work on universal compressed sensing signal estimation, described in the following paper. The software was implemented by Junan Zhu and Dror Baron based on their joint work with Marco Duarte. The implementation is based in part on two earlier implementations by (i) Dror Baron and Marco Duarte for universal compressed sensing estimation (Matlab) and (ii) Dror Baron for universal lossy compression in joint work with Tsachy Weissman (Matlab).

The current implementation uses the Markov chain Monte Carlo framework pioneered by Jalali and Weissman in a compressed sensing framework, where instead of approximating a known input we approximate an unknown input from linear measurements. The current algorithm consists of four stages, and employs an adaptive framework to match the number of quantization levels to the complexity of the signal.

Below is a brief description of files used in our implementation. Comments will be appreciated.

Feel free to also browse through other software packages developed by our group.

Junan Zhu, Dror Baron, and Marco Duarte, December 2014

Main Files Other Matlab routines

Here is a demo on the reconstruction quality of size- and level- adaptive MCMC (SLAM). We selected 9600 samples of the ''Chirp'' sound clip from Matlab (denoted by x). We took compressed measurements through the vector channel y = Phi x + z, where Phi is a matrix with M=70% x 9600=6720 rows and N=9600 columns, and each entry follows an i.i.d. Gaussian distribution. The channel noise z is additive white Gaussian noise, and we set the variance of z such that the input SNR=15dB.

Instead of reconstructing x, we reconstruct the short-time discrete cosine transform (DCT) coefficients theta of length 9600. Then, we carry out an inverse short-time DCT on theta to obtain the reconstrcuted ''Chirp'' in the time domain.

The reconstructed ''Chip'' in the time domain by SLAM and a well-known algorithm EM-GM-AMP-MOS can be downloaded here. The ell2 error of EM-GM-AMP-MOS is 0.0023, and the ell2 error of SLAM is 0.0015. You can hear the difference in reconstruction quality by running the demo:

In Matlab,

Back to my homepage.