The Basis Pursuit DeQuantization toolbox

The BPDQ Toolbox



Introduction: (top)

This web page provides support for the Basis Pursuit DeQuantizer (BPDQ) Toolbox.

This toolbox aims at demonstrating the power of the Basis Pursuit Dequantizers for recovery of sparse signals from quantized random measurements, as described in the two papers:

More precisely, this toolbox provides a set of matlab and C/C++ routines solving numerically the two following convex optimization frameworks:

In other words, the L1-based and the Total Variation (TV) based Basis Pursuit Dequantizers. For more details about the symbols used, see the companion paper cited above.  


Download the BPDQ toolbox: (top)

The version 1.0 of the BPDQ Toolbox is available here :

Install: (top)

To use, first compile the cpp code implementing the mex version of
lp-ball projection by running

   >> bpdq_make_mex
Then, run

  >> bpdq_setpath

to add all subpaths to the matlab path.

Demonstration files: (top)

Once installed, try running the demo's

  >> bpdq_demo_1d 
  >> bpdq_demo_2d

which each run (a single case) of the numerical experiments described in Jacques et al.

HTML reports of these demonstrations (automatically generated by Matlab 7.5) are also available here:

Documentation: (top)

A HTML documentation aumtomatically generated from the sources with the script m2html is availble here:


Archive Structure: (top)

  bpdq_toolbox/ - root directory, contains demo files
  bpdq_toolbox/one_d/ - code for one dimensional simulations
  bpdq_toolbox/two_d/ - code for two dimensional simulations
  bpdq_toolbox/common/ - code common between one and two dimensions
  bpdq_toolbox/mex/ -  mex source code 

  bpdq_toolbox/doc/ - html documentation, view
  bpdq_toolbox/doc/index.html with your favourite web browser

GPL License: (top)

The BPDQ Toolbox is a GPL Matlab/C/C++ Library.

The BPDQ Toolbox is free software: you can redistribute it and/or modify
it under the terms of the
GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

The BPDQ Toolbox is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with The BPDQ Toolbox.  If not, see <>.

Referencing the BPDQ toolbox: (top)

When referencing the BPDQ toolbox, please cite the following:

  title={{The Basis Pursuit DeQuantizer (BPDQ) toolbox}},
  author={D. K. Hammond, L. Jacques, M.J. Fadili, G. Puy and P. Vandergheynst},
  Institution = {Signal Processing Laboratory (LTS2), EPFL, Lausanne, Switzerland},
  Month = {July},
  url = {},
  Year = {2009}

Special Thanks: (top)

The BPDQ Toolbox team warmly thanks:


BPDQ Main Authors: (top)

Feel free to submit us by email the (unavoidable) bugs (please, provide then an explicit report of the bug with the full error message you got), remarks or wishes relatively to this toolbox.



The BPDQ Toolbox Team - EPFL - 2009