# BeamformerDamasPlus¶

class acoular.fbeamform.BeamformerDamasPlus

DAMAS deconvolution, see Brooks and Humphreys, 2006, for solving the system of equations, instead of the original Gauss-Seidel iterations, this class employs the NNLS or linear programming solvers from scipy.optimize or one of several optimization algorithms from the scikit-learn module. Needs a-priori delay-and-sum beamforming (BeamformerBase).

method = Trait('NNLS','LP','LassoLars', 'OMPCV', desc="method used for solving deconvolution problem")

Type of fit method to be used (‘LassoLars’, ‘OMPCV’, ‘LP’, or ‘NNLS’, defaults to ‘NNLS’). These methods are implemented in the scikit-learn module or within scipy.optimize respectively.

max_iter = Int(500, desc="maximum number of iterations")

Maximum number of iterations, tradeoff between speed and precision; defaults to 500

unit_mult = Float(1e9, desc = "unit multiplier")

Unit multiplier for evaluating, e.g., nPa instead of Pa. Values are converted back before returning. Temporary conversion may be necessary to not reach machine epsilon within fitting method algorithms. Defaults to 1e9.

calc(self, ac, fr)

Calculates the DAMAS result for the frequencies defined by freq_data

This is an internal helper function that is automatically called when accessing the beamformer’s result or calling its synthetic() method.

Parameters
acarray of floats

This array of dimension ([number of frequencies]x[number of gridpoints]) is used as call-by-reference parameter and contains the calculated value after calling this method.

frarray of booleans

The entries of this [number of frequencies]-sized array are either ‘True’ (if the result for this frequency has already been calculated) or ‘False’ (for the frequencies where the result has yet to be calculated). After the calculation at a certain frequency the value will be set to ‘True’

Returns
This method only returns values through the ac and fr parameters