  Statistical signal processing applications usually require the estimation of
some parameters of interest given a set of observed data. These estimates are
typically obtained either by solving a multi-variate optimization problem, as
in the maximum likelihood (ML) or maximum a posteriori (MAP) estimators, or by
performing a multi-dimensional integration, as in the minimum mean squared
error (MMSE) estimators. Unfortunately, analytical expressions for these
estimators cannot be found in most real-world applications, and the Monte Carlo
(MC) methodology is one feasible approach. MC methods proceed by drawing random
samples, either from the desired distribution or from a simpler one, and using
them to compute consistent estimators. The most important families of MC
algorithms are Markov chain MC (MCMC) and importance sampling (IS). On the one
hand, MCMC methods draw samples from a proposal density, building then an
ergodic Markov chain whose stationary distribution is the desired distribution
by accepting or rejecting those candidate samples as the new state of the
chain. On the other hand, IS techniques draw samples from a simple proposal
density, and then assign them suitable weights that measure their quality in
some appropriate way. In this paper, we perform a thorough review of MC methods
for the estimation of static parameters in signal processing applications. A
historical note on the development of MC schemes is also provided, followed by
the basic MC method and a brief description of the rejection sampling (RS)
algorithm, as well as three sections describing many of the most relevant MCMC
and IS algorithms, and their combined use.
