Acoular 24.05 documentation


«  BeamformerCMF   ::   fbeamform   ::   BeamformerGIB  »


class acoular.fbeamform.BeamformerSODIX

Bases: BeamformerBase

SODIX, see Funke, Ein Mikrofonarray-Verfahren zur Untersuchung der Schallabstrahlung von Turbofantriebwerken, 2017. and Oertwig, Advancements in the source localization method SODIX and application to short cowl engine data, 2019.

Source directivity modeling in the cross-spectral matrix

method = Trait('fmin_l_bfgs_b', desc='fit method used')

Type of fit method to be used (‘fmin_l_bfgs_b’). These methods are implemented in the scipy module.

max_iter = Int(200, desc='maximum number of iterations')

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

pnorm = Float(1, desc='Norm for regularization')

Norm to consider for the regularization defaults to L-1 Norm

alpha = Range(0.0, 1.0, 0.0, desc='regularization factor')

Weight factor for regularization, defaults to 0.0.

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.

sodix_result = Property(desc='beamforming result')

The beamforming result as squared sound pressure values at all grid point locations (readonly). Returns a (number of frequencies, number of gridpoints) array of floats.

synthetic(f, num=0)

Evaluates the beamforming result for an arbitrary frequency band.

f: float

Band center frequency.


Controls the width of the frequency bands considered; defaults to 0 (single frequency line).


frequency band width


single frequency line


octave band


third-octave band


1/n-octave band

array of floats

The synthesized frequency band values of the beamforming result at each grid point and each microphone . Note that the frequency resolution and therefore the bandwidth represented by a single frequency line depends on the sampling frequency and conjugate used FFT block size.

calc(ac, fr)

Calculates the SODIX result for the frequencies defined by freq_data.

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

acarray of floats

This array of dimension ([number of frequencies]x[number of gridpoints]x[number of microphones]) 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’

This method only returns values through the ac and fr parameters

«  BeamformerCMF   ::   fbeamform   ::   BeamformerGIB  »