BeamformerSODIX¶
- 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.
- Parameters:
- f: float
Band center frequency.
- numinteger
Controls the width of the frequency bands considered; defaults to 0 (single frequency line).
num
frequency band width
0
single frequency line
1
octave band
3
third-octave band
n
1/n-octave band
- Returns:
- 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 usedFFT 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 itssynthetic()
method.- Parameters:
- 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’
- Returns:
- This method only returns values through the ac and fr parameters