# BeamformerCMF¶

class acoular.fbeamform.BeamformerCMF

Covariance Matrix Fitting, see Yardibi et al., 2008. This is not really a beamformer, but an inverse method.

method = Trait('LassoLars', 'LassoLarsBIC',\ 'OMPCV', 'NNLS', desc="fit method used")

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

alpha = Range(0.0, 1.0, 0.0, desc="Lasso weight factor")

Weight factor for LassoLars method, defaults to 0.0. (Use values in the order of 10^⁻9 for good results.)

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(ac, fr)

Calculates the CMF 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: ac : array 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. fr : array 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’ This method only returns values through the ac and fr parameters