# BeamformerDamas¶

class acoular.fbeamform.BeamformerDamas

DAMAS deconvolution, see Brooks and Humphreys, 2006. Needs a-priori delay-and-sum beamforming (BeamformerBase).

beamformer = Trait(BeamformerBase)

BeamformerBase object that provides data for deconvolution.

freq_data = Delegate('beamformer')

PowerSpectra object that provides the cross spectral matrix; is set automatically.

r_diag = Delegate('beamformer')

Boolean flag, if ‘True’ (default), the main diagonal is removed before beamforming; is set automatically.

steer = Delegate('beamformer')

instance of SteeringVector or its derived classes, that contains information about the steering vector. Is set automatically.

precision = Delegate('beamformer')

Floating point precision of result, is set automatically.

psf_precision = Trait('float64', 'float32', desc="precision of PSF")

The floating-number-precision of the PSFs. Default is 64 bit.

n_iter = Int(100, desc="number of iterations")

Number of iterations, defaults to 100.

damp = Float(1.0, desc="damping factor in modified gauss-seidel-DAMAS-approach")

Damping factor in modified gauss-seidel

calcmode = Trait('full', 'single', 'block', 'readonly', desc="mode of psf calculation / storage")

Flag that defines how to calculate and store the point spread function, defaults to ‘full’. See PointSpreadFunction.calcmode for details.

calc(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. A Gauss-Seidel algorithm implemented in C is used for computing the result.

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