The distribution of the corrupted speech does not have a closed form. This is because of the nonlinearity in the mismatch function (which relates the signals of the speech, noise, and corrupted speech). The compensation methods in Parametrised model compensation therefore approximate the corrupted speech distribution. The papers in the Bibliography introduce an alternative approximation that uses sampling. In the limit, it finds the exact likelihood of one observation. The classes and functions below implement this method.
SampleObservationDensity uses sequential importance resampling (see sequentialImportanceResample) to evaluate the integral in the likelihood expression. This integral is most naturally written over the speech, noise and the phase factor, but, as the papers in the Bibliography detail, can be transformed into an integral over the phase factor and a substitute variable. In this domain, the integrand is factorised (see QuasiConditionalFactorGenerator) and a proposal distribution (see proposalForFactor) is defined. It then becomes feasible to apply sequential importance resampling.
Quasidistribution that evaluates the corrupted speech distribution at a point.
Parameters: 


Class that factorises the integrand in the expression for the corrupted speech likelihood for given observation and models for the speech and noise.
Finds a pair of onedimensional Gaussians that are conditionals. Note that that does not make the total a probability distribution, because the input to one Gaussian is a transformed version of the variable of integration, and two Gaussians are multiplied.
Parameters:  currentSample – current partial sample. Setting the previous dimensions differently changes the factor for the current dimension. 

Returns:  factor of the integrand for one dimension. 
Class that factorises the integrand in the expression for the corrupted speech likelihood for given observation and models for the speech and noise.
Finds a pair of onedimensional Gaussians by taking into account all terms up to the current factor, but no later ones.
Parameters:  currentSample – current partial sample. Setting the previous dimensions differently changes the factor for the current dimension. 

Returns:  factor of the integrand for one dimension. 
One factor of the target density, as a function of the substitute variable. It takes speech and noise densities that are functions of the speech and the noise, respectively. The densities should be ducktypable to Gaussians:
SubstituteFactorOneSource is an example.
Parameters: 


Returns:  the unnormalised density of this factor evaluated at 

substitute.
Approximate a factor from the target distribution that is a function of one dimension of the substitute variable. The target factor consists of two Gaussians, each with a different soft cutoff. As detailed in the technical report (see Bibliography), the factor therefore has one of three distinct shapes. The proposal function therefore has one of three different forms.
Parameters:  factor – the factor of the target distribution to approximate. 

Returns:  the proposal distribution. Either a Gaussian or a Mixture of Gaussians. 
For the phase factor dimensions, the target and proposal distributions are the same. When called, this class returns a PhaseFactorGaussian that does not depend on the partial sample
Parameters:  index – the index of the melfilter: the dimension in the feature vector. 

To be used in conjunction with target factor DummyFactor , which returns and weighter oneWeighter.
Always proposes a fixed value.
Returns:  1. 

Partial sample for approximating the integrand in the corrupted speech likelihood expression.
Parameters: 


Append one phase factor dimension to the partial sample.
Parameters: 


Returns:  a PartialSample with newSample appended. 
Append one substitute variable dimension to the partial sample.
Parameters: 


Returns:  a PartialSample with newSample appended. 